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