回答

收藏

在板子上跑基础例程--流水灯

物联网 物联网 4537 人阅读 | 0 人回复 | 2017-08-20

在学习基础例程前,我给板子添加了1个复位开关。根据麒麟mini板原理图可知,提供有复位电路,但是没有接按键,所以准备外接一个按键,起复位用,这样不必每次都得通过按开关按键来热启动板子。
   

                               1-1     原理图                                         2-1   实物图

另外,为了在SRAM中调试板子(我习惯这么做了,虽然FLASH号称支持百万次的擦除)
我将其内存设置16K用做FLASH4K用做内存使用。具体设置可以自行问度娘“STM32 RAM 调试”)

学习第一个基础例程 流水灯,虽然我个人对stm32库函数编程,比较熟悉,但是不同风格(原子哥的、野火的等)下的库函数编程,还是需要花费些时间习惯的。

麒麟座mini板的编程风格,就和之前的不同了,首先对LED灯的操作,就采用面向对象的思想进行了封装
typedef struct
{        _Bool Led2Sta;
        _Bool Led3Sta;
        _Bool Led4Sta;
        _Bool Led5Sta;
} LED_STATUS;


typedef enum
{        LED_OFF = 0,
        LED_ON
} LED_ENUM;
LED灯---确实对于它来说就2个状态:开和关。

对其操作也是,和我个人习惯不一样,我就是直白的GPIO_SetBitsGPIO_ResetBits
而麒麟座mini板的编程风格则是GPIO_WriteBit(GPIOB, GPIO_Pin_6, status != LED_ON ? Bit_SET : Bit_RESET);
                                                ledStatus.Led2Sta = status;
到底哪个好,说不清?希望有人能给我指教。

另外,对于DelayXms(500) 这句话,按字面和注释是延时500ms,但是经过测试这个延时有5s
应该改为DelayMs(500),才对。
进到其内部查看,其采用的非中断方式进行延时,个人觉得不好,准备改为中断方式。
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条