![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
那白色蒲公英
那白色蒲公英会弄脏你的连衣裙
展开
-
我理解的union
目前我觉得的union的唯一用在的地方:总线,设备,驱动,如:struct net_buff { char cmd_sbuf[128]; char cmd_rbuf[2048];};/* 如果每个驱动中都开辟了接收和发送缓存的空间不好 */union net_buff_union { struct net_buff 2G_net_buff_m26; struct net_buff 4G_net_buff_ec20; struct net_buff 4G_net_buff_xxx;..原创 2020-11-20 10:59:39 · 126 阅读 · 0 评论 -
FLASH和EEPROM存储配置设备信息时可考虑代码可 维护性问题。
假如有这份代码:struct device_config { unsigned int device1_enable; /* 设备1的使能信息 */ unsigned int device2_enable; /* 设备2的使能信息 */ unsigned int device3_enable; /* 设备3的使能信息 */ unsigned int device4_enable; /* 设备4的使能信息 */ unsigned int device1_type; /* 设备1的类.原创 2020-10-19 16:14:09 · 205 阅读 · 0 评论 -
嵌入式开发中通过系统心跳延时的方法,并且处理了溢出的情况(非阻塞延时)
unsigned int delay_timeout(unsigned int enter_timer, unsigned int ms){ unsigned int get_tick = get_systick_time(); unsigned int interval = (get_tick >= enter_timer) ? (get_tick - enter_timer) : (~enter_timer + get_tick); //0xFFFFFFFF + g...原创 2020-09-09 13:52:02 · 277 阅读 · 0 评论 -
stm32标准库和HAL库获取系统时钟的方法
HAL库uint32_t sysclock = 0;sysclock = HAL_RCC_GetSysClockFreq();标准库 RCC_ClocksTypeDef get_rcc_clock; RCC_GetClocksFreq(&get_rcc_clock);原创 2020-09-03 17:59:48 · 7344 阅读 · 0 评论 -
前段时间stm32CubeMx生成工程总是空的
1、前段时间stm32CubeMx生成工程总是空的,最后经过多种方法尝试,最后将自己电脑中的JDK13卸载后,再按照JDK8就好了。此处的坑分享给后面的踩坑人。原创 2020-06-14 18:33:34 · 695 阅读 · 1 评论 -
keil中编程宏定义重加u的意思
#define TEMP 0x01u#define TEMP1 0x02uu 就表示unsigned,ul 就表示unsigned long型,也就是无符号的意思。常用在非符号的场景,一是为了防止编译器将它作为有符号数字进行处理,显式声明,以防万一;二是防止编译提醒符合位改变等情况。举例:比如ox8000 这是一个16位的数,如果不加u,有的编译器认为它是个负数,然后右移这个数...转载 2019-12-14 09:55:15 · 1685 阅读 · 0 评论 -
关于中微中断单片机的问题(CMS)
上面是数据手册写的中断流程。下面贴出反汇编的出来的代码//这是入栈//这是出栈//首先这个单片机写的代码会出现程序乱跳的问题,不知道是编译器的问题还是芯片的问题,总是莫名其妙的进去中断。PORTB是个神指令,以后机会好好分析他的反汇编代码。//其次就是我想不明白//出栈的 0D80 0859 LD A,0x59 0D81 008A ...原创 2019-09-19 21:06:53 · 2665 阅读 · 0 评论