void OSInit (void){ INT16U i; /*****/
在前一段时间分析了ARM异常处理机制的处理方式,分析了在异常产生以后CPU自动完成的相关处理以及程序员应该完成的基本操作。着重分析了异常代码的返回地址分析已经采用通用代码处理各种异...
单片机C语言易错知识点,记住它们会让你事半功倍!
在进行单片机开发时,经常都会出现一些很不起眼的问题,这些问题其实都是很基础的C语言知...
这个BUG是在之前的项目中遇到的,当时着实迷糊了几天,但一直没有时间整理,现在把它重现,并整理在这里,给其它朋友一些参考:
先看下面这段测试的代码:
#include&nb...
51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式...
51单片机精确延时程序(晶振12MHz,一个机器周期1us.)
几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,
在对时间要求不高的场合,这部...
[导读]如果从keil里看了c语言的反汇编代码然后根据晶振和指令计算延时的时间这样虽然非常的准确但是相当的麻烦而且容易搞错,我这里介绍一个最简单的方法.可以验证你的延时函数。
...
一.单片机的组成:
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最...
1.定时器TMOD寄存器
C/T这一位用来控制定时器工作方式。本来T上面有一横表示低电平有效。c为计数,也即是及外部脉冲的个数,也会是定时器溢出及中断。GATE这一位用来设定外部...
这里讲述一些初学者学习C51的一些误区和注意事项。高手的特别应用不包括在内。
1)C忌讳绝对定位。
常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量...
最近,在写程序的时候,碰到一个在自己看来非常不可思议的问题。当然,或者高手就觉得大惊少怪了,呵呵以下是问题相关:
平台:MEGA64;
编译环境:codeVisonAVR;
...
一. 500ms延时子程序程序:.(晶振12MHz,一个机器周期1us.)
void delay500ms(void)
{
unsigned char i,j,k;
for...
C语言允许我们自己构造我们自己的数据类型,这点非常有用。也给我们的编程带来许多方便,这点在数据结构课程中体现的较为明显。那么我们来接着往下看。
错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error&n...
51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。
选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中...
/*****************串口应用 ******************////////////////////串口一////////////// &...
1、整形数字符做乘除法的C51程序,代码比较大。约9B左右,所以尽量不做乘除法。
例如:uchar a=6;a=a*6;第二行代码要9个字节,而平时的语句只有2B。
2、定义变...
串口通信的基本认识
通信分为并行通信和串行通信,并行通信时的数据各个位同时传送,可以实现字节为单位通信,但通信线多占用资源,成本高。以前用到的的P1=0x55,一次给P1口的8个...