专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
嵌入式
嵌入式项目的开发经验
2019-07-13 04:00
发布
生成海报
站内文章
/
嵌入式Linux
17154
0
1181
#define BOARD_ADDR (uint16_t)(('0')|('1')<<8)
宏定义只能定义常量不可定义变量:
#define BOARD_ADDR (BOARD_ID/10+'0')|(BOARD_ID%10+'0')<<8)
BOARD_ID为变量,所以不成功
Receive_Flag = 1;
定义标志位,if()语句常用标志位为1来判断是否进入执行内部函数。
中断定时器中,采用标志位来判断执行时间到了吗?到了就进入if()执行内部函数,节约单片机资源。
单片机调试要领:
设置执行断点
先全速运行到要调试部分再单步运行查看运行过程。
判断是否运行至设置断点的语句处,判断执行中间过程可能出现的原因。
监听数组,变量等的数据变化
进入watch1,出现如图所示内容,监听内部数据变化
中断定时器
#include "stm32f10x_it.h" 中设置函数,使用单片机中断定时器资源
在给定STM32函数中嵌套需要函数是使用内部资源最方便合理的做法。
采用了中断标志
启用中断定时器必须启用如图所示时钟函数。
结构体:简化编程
图片中为连续结构体
__attribute__((__packed__)) //配置连续存贮空间
结构体与指针的结合能极大的简化编程
REV_DAT *TP;定义结构体指针,并启用函数,方便后续调用。
按键:按键扫描,把结果存入变量中,采用二进制位来判断是否按下。
Ta的文章
更多
>>
ARM-CortexM4指令列表
0 个评论
嵌入式项目的开发经验
0 个评论
jQuery siblings() 方法
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮