目录
一、寄存器写流水灯
1、在Cube_Mx选择F103C8芯片包
2、设置GPIO
![在这里插入图片描述](https://img-blog.csdnimg.cn/86363f8263514e76b75791a3330ddcde.png#pic_center)
3、设置时钟
生成工程后即可
4、生成函数后对main函数进行修改
delay函数需要自己定义,代码如下
void delay_ms(int32_t nms)
{
int32_t temp;
SysTick->LOAD = 8000*nms;
SysTick->VAL=0X00;
SysTick->CTRL=0X01;
do
{
temp=SysTick->CTRL;
}
while((temp&0x01)&&(!(temp&(1<<16))));
SysTick->CTRL=0x00;
SysTick->VAL =0X00;
}
5、 利用寄存器写流水灯,代码如下
#define RCC_APB2ENR *((unsigned volatile int*)0x40021018)
#define GPIOA_CRL *((unsigned volatile int*)0x40010800)
#define GPIOA_ODR *((unsigned volatile int*)0x4001080C)
#define GPIOB_CRL *((unsigned volatile int*)0x40010C00)
#define GPIOB_ODR *((unsigned volatile int*)0x40010C0C)
#define GPIOC_CRH *((unsigned volatile int*)0x40011004)