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