一、串口使用:原则:尽量中断中不要有延时(比如自定义delay 和自定义printf串口打印,明显找事啊这么慢能不发生溢出error嘛),接收和发送尽量分开处理1.串口发送数据丢失:1)通常是因为发送之前未检测TC状态位之前
我在学习嵌入式操作系统UCOS时,有很大的迷茫之处,在于我不知道我用的工具到底帮我干了些神马工作。下面就说一下我当时的疑问:1:编译器和链接器干了些神马?我现在也还没能力知道它是怎么干的这些工作。以后慢慢来
三.中断方式的串口编程1.用中断方式编写串口程序由那几部分组成2.硬件上的支持1>UART0发送FIFO缓冲区A.UART0含有1个16字节的发送FIFO缓冲区B.U0THR是UART0发送FIFO的最高字节C.UART的发送FIFO是一直
所谓指令,就是规定计算机进行某种操作的命令。一条指令只能完成有限的功能,为使计算机完成一定的或者复杂的功能,就需要一系列指令。一般来说,一台计算机的指令越丰富,寻址方式越多,且每条指令的执行速度越快,
/*CCP1输出比较*/#include "pic.h"void initPORTB(void); void initCCP1(void); void interrupt CCP1INT(void);void main() { initPORTB(); initCCP1(); while(1) { } }void initCCP1() { TRISC=0x00; T
PLLPLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使内存能正确的存取资料。PLL用于振荡器中的反馈技术。 锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。PLL通
对于固态存储器,其存储容量可以很大,往往需要一款文件系统对存储器用户数据进行组织文件的管理。它对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索。在嵌入式系统中,往往需要采用wi
C51的P0,P2口做外部扩展时使用,其中XBYTE [0x0002],P2口对应于地址高位,P0口对应于地址低位。一般P2口用于控制信号,P0口作为数据通道。XBYTE定义的是外部地址,这样才能和接到你的IO口上的器件通信在一般的读写
keil错误;C51编译器识别错类型有三种;1、致命错误:伪指令控制行有错,访问不存在的原文;2、语法及语义错误:语法和语义错误都发生在原文件;3、警告:警告出现并不影响目标文件的产生,但执行;C_51FATAL_ERRORA
一、概念中断分为两大类:外部中断和内部中断。1、外部中断:S3C2440的24个外部中断占用GPF0~GPF7(EINT0~EINT7)、GPG0~GPG15(EINT8~EINT23)。使用这些引脚作为中断输入时,必须将引脚配置为EINT模式,配置方法可
今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机。IDLE中断什么时
什么是字节对齐 一个变量占用 n 个字节,则该变量的起始地址必须能够被 n 整除,即: 存放起始地址 % n = 0, 对于结构体而言,这个 n 取其成员种的数据类型占空间的值最大的那个。为什么要字节对齐 内存空间是按照字
显示自定义字符 步骤如下: 1. 先将自定义字符写入CGRAM ; 2. 再将CGRAM中的自定义字符送到DDRAM中显示 很简单的:看好了 查看LCD1602 的CGROM 字符代码表,可以发现 从00000000B~00000111B(00H~
前沿:最近在做STM32的USB Bootlader/IAP功能,也就是通过USB实现固件升级,本文介绍下实现的基本思路,希望对实现IAP的同学一个参考,改方法已经在产品中得到实际应用并验证是比较合理,稳定可靠的。程序空间划分:
从时钟树中我们可以得知(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线(2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源