![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 51
fanwei326
从业20多年的硬件工程师,兼修单片机软件(ARM Cortex M0/M3/M4系列(以STM32为代表),PIC系列,8051系列)。
展开
-
KEIL C51 与MDK 编译器的几点区别
东莞权智集团 范伟mail: fanwei326@163.com; wfan@gsl.com.cn QQ: 493786141 欢迎技术交流近来用Keil C51做几个小项目,发现虽然同是C语言,但是C51的使用与MDK还是有区别的。1,const关键字,在MDK中表示定义的是常量,放在ROM空间中。但是C51中const只表示被修饰的变量不可改变,但是变量是被保存在RAM内。我开始没注意到这一点,在C51将LCD的自定义字库用const定义,结果XDATA超过了2K, 程序运行会出现...原创 2020-08-13 23:12:02 · 6352 阅读 · 0 评论 -
MDK安装 pack后仍找不到device的解决方法
东莞权智集团 范伟mail: fanwei326@163.com; wfan@gsl.com.cn QQ: 493786141 欢迎技术交流 近期学习nRF52芯片开发,用MDK开发工具,配置开发环境步骤参考 https://www.cnblogs.com/iini/p/8996025.html安装了“NordicSemiconductornRFDeviceFamilyPack8270.pack”后仍提示安装失败,无法找到Nordic的相关设备。解决方法:...原创 2020-06-30 10:17:45 · 5423 阅读 · 0 评论 -
Keil C51 与 Keil MDK 对汉字的处理区别
这段时间做的项目用到12864 LCD模块显示汉字,用的是ST7920带字库的LCD模块。在用STC15单片机驱动LCD时,汉字的处理有一点要注意: 汉字内码结尾为0xFD的,因Keil C51编译器的问题,需要在相应汉字后加“\xFD”,不然后面显示的都有是乱码。 比如说: Display_charStr(1,2,6,"烧硅数\xFD量: "); 要是在“数”后不加“\xFD”,后面的“量”字后变为乱码。但是Keil MDK编译器修复了这个问题,所...原创 2020-05-30 23:31:58 · 849 阅读 · 0 评论 -
详解C51中的bit, data,bdata,idata,pdata,xdata,code 存储类型与存储区
【本文转载自网络,来源已不可考】bit是在内部数据存储空间中 20H .. 2FH 区域中一个位的地址,或者 8051 位可寻址 SFR的一个位地址。code是在 0000H .. 0FFFFH 之间的一个代码地址。data是在 0 到 127 之间的一个数据存储器地址,或者在 128 .. 255 范围内的一个特殊功能寄存器(SFR)地址。idata是 0 to 255 范围内的一个 idata 存储器地址。xdata 是 0 to 65535 范围内的一个 xdata 存储器地址转载 2020-05-29 20:23:59 · 7969 阅读 · 0 评论 -
Keil C51的编译效率
近期用STC15W4K58S4做个项目,因为以前一直用STM32与PIC16系列的单片机,这是头一次用51系列的,在用Keil C51的过程,碰到一些编译设置上的问题,在此记录下来以备参考。首先碰到的是RAM空间不足的问题,因为51单片机的片内RAM只有128Bytes, 所以要将Memory Model改为"Compact:variables in PDATA", 这样定义变量时不显式标名的话,默认为PDATA。若代码中用到的变量太多,比如说有很多数组,就要用XDATA显式定义为XDA...原创 2020-05-29 20:15:50 · 929 阅读 · 0 评论