码迷,mamicode.com
首页 > 其他好文 > 详细

关于8位单片机上资源有限一些要注意的点

时间:2018-10-16 02:10:28      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:sizeof   简单   注意   demo   sign   def   markdown   参考   pre   

8位mcu,51内核:

新塘的N76E003AT20,比stm8同款的多一点端口,具体多什么可以百度一下,这里不赘述了.

注意点1:局部变量的合理分配,一般在8位单片机上跑的程序逻辑都比较简单,单循环+中断. 

    根据N76的特性,把一些大的数组局部变量分配在xram里.参考EEPROM的demo.

注意点2:8位机运算能力有限,有限取余整除运算可以直接用

1 TH0=(65536-50000)/256;
2 TL0=(65536-50000)%256;
3 //等效于
4 TH0=(65536-50000)>>8;
5 TL0=(65536-50000)&0x00ff;

这个不知道编译器会不会去主动优化,自己写比较放心吧.

注意点3: 8位和32位里面一些数据长短的问题:

 1 SerialPrintf("char : %d \n\r", sizeof(char));
 2 SerialPrintf("short : %d \n\r", sizeof(short));
 3 SerialPrintf("int : %d \n\r", sizeof(int));
 4 SerialPrintf("long : %d \n\r", sizeof(long));
 5 SerialPrintf("long long : %d \n\r", sizeof(long long));
 6 // 8位
 7 char : 1
 8 short : 2
 9 int : 2
10 long : 4
11 long long : 4
12 //32位
13 char : 1
14 short : 2
15 int : 4
16 long : 4
17 long long : 8

所以,请用typedef signed   char   int8;  来定义

注意点4: 善用Timer0的中断1,这个是在中断优先级里仅次于INT0,而RI/TI的中断是4.

 

关于8位单片机上资源有限一些要注意的点

标签:sizeof   简单   注意   demo   sign   def   markdown   参考   pre   

原文地址:https://www.cnblogs.com/rodzheng/p/9795225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!