嵌入式
none
优美小调
这个作者很懒,什么都没留下…
展开
-
stm32f407进入两次中断的解决办法
刚开始的程序结果将清除标志位放在了前面结果原创 2020-11-24 15:47:25 · 777 阅读 · 1 评论 -
Linux uboot nfs命令卡顿
问题:使用uboot的nfs下载命令时,会出现卡顿现象,如下Loading:################################################################# ################################################################# ################################################################# ####原创 2020-10-14 12:04:54 · 368 阅读 · 0 评论 -
兼容C和C++的写法
兼容C与C++#ifndef __XX_H#define __XX_H #ifdef __cplusplus extern "C"{ #endif //代码块 #ifdef __cplusplus } #endif#endif原创 2020-10-13 20:49:40 · 246 阅读 · 0 评论 -
编译器 和 C的标准 以及ARM汇编
C版本C89 该标准于1989年完成,这个版本的语言经常被称作"ANSI C",或有时称为"C89"(为了区别C99)。C90,在1990年,ANSI C标准(带有一些小改动)被美国国家标准协会采纳为ISO/IEC 9899:1990。这个版本有时候称为C90。因此,C89和C90通常指同一种语言。C99 ,在2000年三月,ANSI采纳了 ISO/IEC 9899:1999 标准。这个标准通常指C99。C11,在2011年12月,ANSI采纳了ISO/IEC 9899:2011标准。原创 2020-10-13 20:34:29 · 352 阅读 · 0 评论 -
宏定义变量
LINE :当前程序行的行号,表示为十进制整型常量(这里应该注意应该用强制转换进行转换,C51用%d直接输出可能出错)FILE :当前源文件名,表示字符串型常量DATE :转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。TIME :转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。(asctime貌似是指的一个函数)STDC :ANSI C进行编译STDC_VERSION :如何实现复合C89整部1,则.原创 2020-10-13 17:11:31 · 3531 阅读 · 0 评论 -
宏定义 # ## 的使用方法
#define log(x) #a将宏参数转化为字符串prinf(log(111))==>结果为111#define temp(x) temp_##a将##前后的标记进行合并int temp(1);==>这个变量的名字为temp_1宏定义的串口的DEBUG的使用C99模式C99模式--方法一:#ifdef DEBUG_ON #define DEBUG(fmt,args...) printf("%s==>%s(%d) : "#fmt"\r\n",__TIME_原创 2020-10-13 16:38:47 · 200 阅读 · 0 评论 -
关于struct的初始化 error 的问题C242: ‘struct‘: too many initializers
没有加{ }进行初始化typedef struct{ uchar led_enable[9]; uchar led_State[8]; struct{ uchar pwm_flags; uint pwm_flags_count; uchar pwm_count; uchar led_Cmp_Buff[8]; uchar led_PWM_enable[9]; }led_pwm_struct;}led_def;led_def led_struct = { {0原创 2020-10-13 13:42:51 · 4963 阅读 · 0 评论 -
关于printf的值与实际的值不一样的解决办法
注意pritnf中%的类型不匹配的话将会造成打印错误总结好久没有用printf打印东西了,都忘了unsigned char 和 char应该用%c,而unsigned int 和 int 可以用%u或者%d,当然可以用%ul等等,这也算是一个小坑了吧...原创 2020-10-13 12:28:58 · 1018 阅读 · 0 评论 -
KEIL、MDK中关于__LINE__宏 printf 的显示不正确的问题
> #define DEBUG(log) printf("%s==>%s(%d) : %s\r\n",__TIME__,__FILE__,(uint)__LINE__,log)对其的调用如下可以发现串口printf打印的__LINE__的值并不正确而将其赋给一个变量值时却正确,这个算是BUG吗?解决办法在__LINE__前面加上强制转换类型(unsiged int)就可以避免printf出错不管了,先这样用着吧结果...原创 2020-10-13 03:09:21 · 1062 阅读 · 0 评论