尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

手搓 main 函数+寄存器版控制GPIO输出

手搓 main 函数+寄存器版控制GPIO输出 手搓 main 函数第一步 加入头文件#include stm32f10x.h第二步 编写main 函数第三步 while1 死循环完整版本如何点亮一盏灯1. 开启时钟查找stm32中文手册56页系统时钟树2. 配置GPIO参数3. 输出高低电平2024.9.12更新 寄存器配置GPIOD输出高低电平主函数#includestm32f10x.hintmain(){RCC-APB2ENR|0X00000020;//GPIOD-CRL 1111 1111 1111 1111 1111 0000 1111 0000;//GPIOD-CRL | 0000 0000 0000 0000 0000 0011 0000 0011;GPIOD-CRL0XFFFFF0F0;GPIOD-CRL|0X00000303;while(1){/* Set PD0 and PD2 */GPIOD-BSRR0x00000005;/* Reset PD0 and PD2 */GPIOD-BRR0x00000005;}}2024.9.14更新 PC1 PD5 main 函数#includestm32f10x.h#defineBIT(n)(1n)intmain(){//PC1 配置为推挽输出RCC-APB2ENR|0X00000010;RCC-APB2ENR|0X00000020;// GPIOC-CRL 1111 1111 1111 1111 1111 1111 1111 0000 1111 0X FFFF FF0FGPIOC-CRL0XFFFFFF0F;// GPIOC-CRL 0000 0000 0000 0000 0000 0000 0011 0000 0X 0000 0030GPIOC-CRL|0X00000030;GPIOD-CRL0XFF0FFFFF;GPIOD-CRL|0X00300000;while(1){// GPIOC-ODR | 0X00000002; //给高电平的// GPIOC-ODR ~ 0X00000002; //给低电平的// GPIOC-ODR 0XFFFFFFFD; //给低电平的// GPIOC-ODR | 11; //给高电平的 PC1// GPIOC-ODR ~(11); //给高电平的 PC1//GPIOC-ODR|BIT(1);//给高电平的 PC1GPIOC-ODR~BIT(1);//给高电平的 PC1GPIOD-ODR|BIT(5);//给高电平的 PD1GPIOD-ODR~BIT(5);//给高电平的 PD1}}
返回列表