在线时间3 小时
UID3103988
ST金币0
蝴蝶豆0
注册时间2015-3-4
初级会员
- 最后登录
- 2015-4-17
|
a0a.1 32b0c
学习STM32才刚刚几天时间,我发现她的库文件中用到结构体的地方很多,而且很有技巧。记得我第一次接触结构体是把浮点数存入EEPROM中时,在网上看到了这种结构,当时只是有一个了解,只知道怎么用,在M3的库中,我深刻的体会到了他的强大。
不过这么强大的库也给我很不舒服的感觉,总有一种“我就是这么规定的,你必须这么认为”的强迫感,可能是不习惯吧,所以我要加大代码量,从最基础的学起。
昨天网上写了好多呢,结果无线网卡连接不上,存U盘了,结果U盘出意外了,嗨,就这些吧,上代码,虽然很基础,但是我也不能放过。
我用的是小苗LED流水灯的模板,然后自己有所改动。
LED.H中照了野火的例程
#define ON 0
#define OFF 1
//带参宏,可以像内联函数一样使用
#define LED1(a) if (a) \
GPIO_SetBits(GPIOC,GPIO_Pin_0);\
else \
GPIO_ResetBits(GPIOC,GPIO_Pin_0)
这里只是一个例子,我想请问下没有定义a,怎么没有报错呢。
main.c自己写了下流水灯的过程,能比较方便的更改流水灯的组合样式
while(1)
{
u8 i;
for(i=0;i<8;i++)
{
switch(i)//更改LED的状态和i的数量可以组合出任意变化的流水灯
{
case 0:{LED1(OFF);LED2(OFF);LED3(OFF);LED4(OFF);}break;
case 1:{LED1(ON );LED2(OFF);LED3(OFF);LED4(OFF);}break;
case 2:{LED1(ON );LED2(ON );LED3(OFF);LED4(OFF);}break;
case 3:{LED1(ON );LED2(ON );LED3(ON );LED4(OFF);}break;
case 4:{LED1(ON );LED2(ON );LED3(ON );LED4(ON );}break;
case 5:{LED1(OFF);LED2(ON );LED3(ON );LED4(ON );}break;
case 6:{LED1(OFF);LED2(OFF);LED3(ON );LED4(ON );}break;
case 7:{LED1(OFF);LED2(OFF);LED3(OFF);LED4(ON );}break;
}
Delay();//流水灯亮、灭的时间间隔
}
}
延时我没有改,大家可以自己写成带有参数的,就可以随意的更改闪烁频率了
|
-
-
1.48 KB, 下载次数: 2, 下载积分: ST金币 -1
|