嵌入式项目的开发经验

  1. #define BOARD_ADDR (uint16_t)(('0')|('1')<<8)
    1. 宏定义只能定义常量不可定义变量:
      1. #define BOARD_ADDR (BOARD_ID/10+'0')|(BOARD_ID%10+'0')<<8)
        1. BOARD_ID为变量,所以不成功
  2. Receive_Flag = 1;
    1. 定义标志位,if()语句常用标志位为1来判断是否进入执行内部函数。
    2. 中断定时器中,采用标志位来判断执行时间到了吗?到了就进入if()执行内部函数,节约单片机资源。
  3. 单片机调试要领:
    1. 设置执行断点
      1. 先全速运行到要调试部分再单步运行查看运行过程。
      2. 判断是否运行至设置断点的语句处,判断执行中间过程可能出现的原因。
    2. 监听数组,变量等的数据变化
      1. 进入watch1,出现如图所示内容,监听内部数据变化
  1. 中断定时器
    1. #include "stm32f10x_it.h" 中设置函数,使用单片机中断定时器资源
      1. 在给定STM32函数中嵌套需要函数是使用内部资源最方便合理的做法。
      2. 采用了中断标志
  1. 启用中断定时器必须启用如图所示时钟函数。
  1. 结构体:简化编程
    1. 图片中为连续结构体
      1. __attribute__((__packed__)) //配置连续存贮空间
  1. 结构体与指针的结合能极大的简化编程
    1. REV_DAT *TP;定义结构体指针,并启用函数,方便后续调用。
  1. 按键:按键扫描,把结果存入变量中,采用二进制位来判断是否按下。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车观察侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值