。
事件和事件同时发生或者在事件之后发生。
当这种情况发生时,如果后来的帧要被接收,事件后的个虚拟读操作可以清除标志。
基于的嵌入式系统设计.模块寄存器状态寄存器噪声标志。
当检测到接收器输入有噪声时,置位。
置位和标志同时,但在溢出时不置位。
置位后,通过读取寄存器之后读取寄存器数据清除位。
表示检测到噪声表示没有检测到噪声。
帧错误标志。
当接收到的停止位是时,置位。
置位和标志同时,但在溢出时不置位。
置位后,通过读取寄存器之后读取寄存器数据清除位。
表示帧错误发生表示没有帧错误发生。
奇偶校验错误标志。
当奇偶校验使能位置位且接收到数据的奇偶校验位和定义的奇偶校验类型不符时,置位。
置位和标志同时,但在溢出时不置位。
置位后,通过读取寄存器之后读取寄存器数据清除位。
表示奇偶校验错误发生表示没有奇偶校验错误发生。
基于的嵌入式系统设计.模块寄存器状态寄存器状态寄存器,如图.所示。
读任何时刻写任何时刻,写入状态寄存器数据,除和位之外的其他位数据无效。
中止符长度,该位决定中止符的长度是位或位,还是位或位。
帧错误的检测不影响该位。
表示中止符的长度是位或位表示中止符的长度是位或位。
基于的嵌入式系统设计.模块寄存器状态寄存器单线模式下的发送器引脚数据方向,该位决定了在单线模式下,引脚被用则发送。
程序清单基于的嵌入式系统设计.模块基础应用实例基于的嵌入式系统设计.智能车系统中模块的应用在智能车系统设计调试过程中,需要些辅助调试手段,以便了解当前智能车的运行车速舵机转角赛道信息等参数。
常用的调试手段大多采用串口方式调试,在第三届全国大学生“飞思卡尔”杯智能汽车竞赛活动中,也有部分参赛队伍采用卡辅助调试方法。
串口调试方法是最简便也是最常见的,利用的模块实现的串口通信原理如图.所示。
基于的嵌入式系统设计.智能车系统中模块的应用利用图.所示的原理,容易实现与的串口通信。
只需要合理配置中的相关寄存器就可以实现串口通信。
以下给出初始化以及些功能函数代码,更复杂的功能请读者结合具体应用要求参照样例自行完成。
基于的嵌入式系统设计.智能车系统中模块的应用基于的嵌入式系统设计.智能车系统中模块的应用基于的嵌入式系统设计.智能车系统中模块的应用基于的嵌入式系统设计做输入还是输出,仅在单线模式下有效。
表示单线模式下引脚被用做输出表示单线模式下引脚被用做输入。
接收器有效标志位。
当接收器在起始位的时刻检测到逻辑时,置位。
当接收器检测到空闲字符时,被清除。
表示没有接收正在进行表示正在进行接收。
基于的嵌入式系统设计.模块寄存器数据寄存器数据寄存器,如图.所示。
基于的嵌入式系统设计.模块寄存器数据寄存器读任何时刻,读取接收数据寄存器数据写任何时刻,写入发送数据寄存器数据,写入操作对位无效。
接收第位。
当配置为位数据格式时,是接收到数据的第位。
发送第位。
当配置为位数据格式时,是发送数据的第位。
接收数据的低位。
发送数据的低位。
注意如果的数值和之前发送的样,就不必重新写入。
同样的值被发送直到被重新写入不同的值。
在位数据格式中,只有数据寄存器低字节需要被访问。
在位数据格式中,用位写指令时,要先写,再写。
基于的嵌入式系统设计.模块基础应用实例实例本实例实现模块的数据发送,利用模块连续发送,共个数据。
程序清单基于的嵌入式系统设计.模块基础应用实例基于的嵌入式系统设计.模块基础应用实例基于的嵌入式系统设计.模块基础应用实例实例二本实例实现模块的数据收发,编程实现当接收到数据时,发送如果接收到的数据不是,误空闲字符的识别,但是需要适当的同步传输。
表示空闲字符开始于停止位之后表示空闲字符开始于起始位之后。
奇偶校验使能位,该位使能奇偶校验功能。
当奇偶校验功能使能时,会在传输字符的最高位插入个奇偶校验位。
表示使能奇偶校验功能表示禁止奇偶校验功能。
奇偶校验类型选择位,该位决定了使用奇校验还是偶校验。
如果采用偶校验,当传输数据中的个数为奇数时,奇偶校验位为当传输数据中的个数为偶数时,奇偶校验位为。
如果采用奇校验,当传输数据中的个数为奇数时,奇偶校验位为当传输数据中的个数为偶数时,奇偶校验位为。
表示奇校验表示偶校验。
基于的嵌入式系统设计.模块寄存器控制寄存器控制寄存器,如图.所示。
读任何时刻写任何时刻。
发送器中断使能标志,该位允许发送数据寄存器空标志产生中断请求。
表示中断请求使能表示中断请求禁止。
发送完成中断使能位,该位允许发送完成标志产生中断请求。
表示中断请求使能表示中断请求禁止。
基于的嵌入式系统设计.模块寄存器控制寄存器接收器满中断使能位,该位允许接收数据寄存器满标志或者溢出标志产生中断请求。
表示或中断请求使能表示或中断请求禁止。
空闲线中断使能位,该位允许空闲线标志产生中断请求。
表示中断请求使能表示中断请求禁止。
发送器使能位,该位使能发送器并配置引脚由控制,位能够用于发送空闲报头。
表示发送器使能表示发送器禁止。
基于的嵌入式系统设计.模块寄存器寄存器清除位。
当数据报头中止字符进入队列并准备发送时,被自动清除。
表示没有发送正在进行表示发送正在进行。
接收数据寄存器满标志。
当接收移位寄存器中的数据传送到数据寄存器时,置位。
置位后,通过读取寄存器,再读取寄存器数据清除位。
表示数据寄存器中接收的数据可用表示数据寄存器中的数据不可用。
基于的嵌入式系统设计.模块寄存器状态寄存器空闲线标志。
当个连续的逻辑或者个连续的逻辑出现在接收器输入端时,置位。
旦标志被清除,在空闲条件下能够置位标志之前,必须接收个有效帧再次置位标志。
置位后,通过读取寄存器之后读取寄存器数据清除位。
表示接收器输入空闲表示标志上次被清除后,接收器未接收到有效数据。
注意当接收器唤醒位置位时,线路空闲条件下不会置位标志。
溢出标志。
当接收移位寄存器接收下帧数据之前,如果软件读取寄存器失败,置位。
对于第二帧而言,接收到停止位后立即置位。
移位寄存器中的数据丢失,但是数据寄存器中的已有数据不受影响。
置位后,通过读取寄存器之后读取寄存器数据清除位。
表示溢出发生表示没有溢出发生。
注意当标志清除时,读取可能返回。
这可能会发生在以下事件中接收第帧数据后,读取状态寄存器返回和没有读取数据寄存器中的第帧就接收第二帧第二帧数据没有收到读取数据寄存器返回第帧并清除标志读取状态寄存器返回和控制寄存器接收器使能位,该位使能接收器。
表示接收器使能表示接收器禁止。
接收器唤醒位,该位使能接收器。
表示使能唤醒功能并禁止接收器中断请求,硬件通过自动清除位来唤醒接收器表示普通操作。
发送中止符位,该位使能发送器。
置位发送中止字符当置,则发送个或个逻辑当置位,则为或个逻辑。
在完成发送中止符前自动清除位。
只要置位,发送器连续发送完整中止符或位或位逻辑。
表示发送中止符表示没有中止符。
基于的嵌入式系统设计.模块寄存器状态寄存器和寄存器为提供产生中断输入源的状态查询,如图.所示。
清除这些标志位的过程需要读取状态寄存器,然后通过读或者写数据寄存器才能实现。
在这两步之间允许执行其他指令,只要不影响操作,但是两步的操作顺序对于标志位清除是必需的。
基于的嵌入式系统设计.模块寄存器状态寄存器读任何时刻写无效。
发送数据寄存器空标志。
当发送移位寄存器从数据寄存器获得字节数据时该标志置位。
当时,发送数据寄存器为空,此时能够接收个字节的新数据。
通过读取寄存器然后写数据至寄存器可以清除位。
表示字节数据传输到发送移位寄存器,发送数据寄存器空表示没有数据传输到发送移位寄存器。
发送完成标志。
当有发送正在进行时,当报头或者中止符加载时,清零当标志被置位且没有数据报头中止字符正在发送时,置位。
此时输出信号变成空闲逻辑。
置位后,通过读取寄存器,再写数据至输完成接收器满空闲接收器输入接收器复写错误噪声错误帧错误奇偶校验错误接收器帧错误检测硬件奇偶校验位时间噪声检测。
基于的嵌入式系统设计.模块寄存器的模块共有个寄存器,详见表.。
对于引脚的,内部有两个模块,分别是和,表.中分别列出了和两个模块中各寄存器地址。
基于的嵌入式系统设计.模块寄存器波特率寄存器波特率寄存器用来设置的波特率,如图.所示,计算波特率公示为波特率模块时钟其中,是波特率寄存器到的内容。
波特率寄存器的数值从。
基于的嵌入式系统设计.模块寄存器波特率寄存器读任何时刻,如果只对寄存器作写入操作,紧接着读取该寄存器无法返回正确数据,直到对也赋值写任何时刻。
波特率位。
的波特率由这位确定。
注意复位后,第次只有或位置位,波特率发生器才正常工作。
当时,波特率发生器禁止。
注意如果只对寄存器赋值而不赋值寄存器,写操作是无效的,因为写入的数值只是放在个临时寄存器中,直到写入寄存器时才将数值放入寄存器。
基于的嵌入式系统设计.模块寄存器控制寄存器控制寄存器,如图.所示。
读任何时刻写任何时刻。
环路选择位。
在环路操作模式下,引脚和断开,发送器输出在内部和接收器输入相连。
必须发送器和接收器均被使能的情况下才能够使用环路功能。
环路操作如图.所示。
表示环路操作模式使能表示普通操作模式使能。
基于的嵌入式系统设计.模块寄存器控制寄存器接收器输入由位决定。
等待模式下停止位。
表示在等待模式下禁止表示在等待模式下使能。
接收器来源位。
当时,位决定接收器移位寄存器输入的来源。
表示接收器输入连接到外部发送器,单线模式如图.所示表示接收器输入连接到内部发送器输出。
基于的嵌入式系统设计.模块寄存器控制寄存器位和组合选择环路模式或单线模式参见表.。
数据格式选择位,该位决定数据字符长度是位还是位。
表示位起始位,位数据位,位停止位表示位起始位,位数据位,位停止位。
唤醒条件位,该位决定了何种条件唤醒,接收数据字符的最高位为地址屏蔽或者上的空闲条件。
表示地址屏蔽唤醒表示空闲线唤醒。
空闲线类型位,该位决定了何时接收器开始计数逻辑作为空闲字符位。
计数开始于起始位之后或者停止位之后。
如果计数开始于起始位之后,停止位之前的串逻辑会导致个空闲字符的错误识别。
开始于停止位之后的计数避免了错误空闲字符的识别,但是需要适当的同步传输。
基于的嵌入式系统设计.模块寄存器控制寄存器空闲线类型位,该位决定了何时接收器开始计数逻辑作为空闲字符位。
计数开始于起始位之后或者停止位之后。
如果计数开始于起始位之后,停止位之前的串逻辑会导致个空闲字符的错误识别。
开始于停止位之后的计数避免了错基于的嵌入式系统设计基于的嵌入式系统设计合肥工业大学吴晔,张阳,滕勤,基于的嵌入式系统设计第章串行通信接口模块及其应用实例模块概述模块结构组成和特点模块寄存器及设置模块基础应用实例智能车系统中模块的应用基于的嵌入式系统设计.模块概述串行通信是微控制器与外界进行信息交换的种方式。
微控制器内部有个全双工串行通信接口,称为。
串行通信是指数据位位地按顺序传送的通信方式,其突出优点是只需根传输线,可大大降低硬件成本,特别适合






























1、该PPT不包含附件(如视频、讲稿),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
