
N76E003
xiao_zhou_joy
学习用轮子,造轮子,设计轮子。
展开
-
N76E003编译数组内存不连续的问题
数组内存不连续编译的时候关闭外部编辑器,不然可能有内存共用问题。我使用Keil C51编译N76E003发现数组内存不连续问题,这里特意记录下来。编译情况:一个16位的数组,前3个元素是连续的地址,从第4个开始,出现不连续。用指针取数组每一个元素的地址能看出来。但是,debug直接把数组放到watch中能看到正确的显示。通过memory看元素地址不是连续的。出现情况:使用了外部编辑器。...原创 2020-03-14 09:44:03 · 459 阅读 · 0 评论 -
N76E003 WKT 10K IRC偏差
我在使用过程中发现一个奇怪的现象,WKT中断在跑普通16M时钟的时候,定时是准的。跑掉电模式突然就偏差大了。搜索全网未见有相关内容,所以手动自己排除。官方数据手册,勘误手册均未说明。1.主时钟使用10K,通过IO输出时钟,得到时钟频率10.16K-10.18K,确定内部低速时钟是准确的。2.写测试代码,发现在待机模式,WKT中断是准的。3.最后怎么更改,只要是设置掉电,突然WKT就变大。大...原创 2020-02-24 15:34:03 · 403 阅读 · 1 评论 -
N76E003开发天坑指南
不说废话直接干货**1.keil4 编译错误。变量编译为无效代码,不能执行;或者编译了但是不能赋值,不能运算。**解决办法:这种是Keil工程坏了,解决办法是用官方的工程重新改,把自己的.C.H文件扣过去重新编译。问题解决。不要想着是编译器优化了,这里就是出问题了。而且如果把官方的优化等级8改了,网上说打印就会有问题。2.好好的工程,加一行打印,多定义一个结构体,就编译错误。各种乱七八...原创 2019-06-20 14:10:04 · 2822 阅读 · 3 评论 -
N76E003开发中Keil memory model设置
上一篇中说,选择Xdata就可以用了。今天改程序,发现编译是没有错了,可是下载进去总是复位。排查复位标志是,硬件故障引起的复位。HardF 硬件故障标志。最后排查下拉,还是这个memory model 有问题。下面说针对N76E003说说使用DATA \PDATA\ XDATA三种情况,这个都是直接编译试出来的经验,不保证完全正确。使用Small,那么编译的时候data 数据不能大于128。如...原创 2019-06-22 15:35:48 · 3269 阅读 · 0 评论 -
N76E003为什么不把BSP示例写成库函数
我最开始开发的是STM8S003,用的是标准库函数。开发起来各种方便。现在改到N76E003开发,发现只有几个宏定义,没有标准的库函数。第一次开发就在想,为什么不做成和ST一样的库函数,应该不难。等我第一次完整开发完,就明白这里的道理了。新唐使用的Keil4 对C51优化不如ST使用的IAR。对于没有调用的函数,Keil4所有的都编译,对于没有使用的变量,keil4也全部编译。反观IAR 就有...原创 2019-07-09 17:21:43 · 980 阅读 · 5 评论 -
N76E003,C51开发不编译
第一次开发N76E003不免各种问题。这个不编译的问题,从第一天写代码就困扰我,我第一次换了工程好了,第二次改Xdata,也行。现在碰到,第三种情况。改优化等级,从前默认8,总有不编译的,改为7以后,终于按预期编译了。 第一个工程终于正常运行。还是怀念STM8开发,没管过这些东西,开发起来只管功能实现。 重要的事情再重复一次,当有语句不按预期执行,开deBUG,看这一行编译了没有,没...原创 2019-07-06 16:12:50 · 442 阅读 · 0 评论