#include "stm32f10x.h"
#if 0
#endif
//置位 |=
//清零 &= ~
//延时函数
void soft_delay(unsigned int time)
{
for(;time!=0;time--);
}
int main(void){
//打开GPIOB端口的时钟
*( unsigned int *)0x40021018 |= (1<<3);
//配置第0个IO口为输出,绿灯
*( unsigned int *)0x40010C00 |= (1<<(4*0));
//配置第1个IO口为输出,蓝灯
*( unsigned int *)0x40010C00 |= (1<<(4*1));
//配置第5个IO口为输出,红灯
*( unsigned int *)0x40010C00 |= (1<<(4*5));
while(1)
{
//开绿灯
*(unsigned int*)0X40010C0C &= ~(1<<0);
soft_delay(0Xfffff);
//关绿灯
*(unsigned int*)0X40010C0C |= (1<<0);
soft_delay(0Xfffff);
//开蓝灯
*(unsigned int*)0X40010C0C &= ~(1<<1);
soft_delay(0Xfffff);
//关蓝灯
*(unsigned int*)0X40010C0C |= (1<<1);
soft_delay(0Xfffff);
//开红灯
*(unsigned int*)0X40010C0C &= ~(1<<5);
soft_delay(0Xfffff);
//关红灯
*(unsigned int*)0X40010C0C |= (1<<5);
soft_delay(0Xfffff);
}
}
void SystemInit(void)
{
//函数体为空,目的是骗过编译器不报错
}
野火作业(一)STM32寄存器点灯——闪烁
最新推荐文章于 2023-10-19 22:42:47 发布