MC9S12XDP512串口使用笔记(中断方式)
来源:互联网 发布:盗梦三国龙将无双java 编辑:程序博客网 时间:2024/05/18 01:44
1. 相关寄存器:
1. SCIBDH,SCIBDL:波特率寄存器(SCIBDH只有低5位有效)
波特率 =总线频率 / (16 * SBR[12:0])
2. SCICR2: SCI控制寄存器2
位数
7
6
5
4
3
2
1
0
含义
TIE
TCIE
RIE
ILIE
TE
RE
RWU
SBK
复位值
0
0
0
0
0
0
0
0
TIE:发送中断使能位。使能发送数据寄存器空标志(TDRE)来产生中断申请
TCIE: 发送完成中断使能位。使能发送完成标志(TC)来产生中断申请
RIE: 接收器满中断使能位
TE: 发送器使能位
RE: 接收器使能位
3. SCISR1: SCI状态寄存器1
位数
7
6
5
4
3
2
1
0
含义
TDRE
TC
RDRF
IDLE
OR
NF
FE
PF
复位值
1
1
0
0
0
0
0
0
TDRE: 发送数据寄存器空标志
TC: 发送完成标志
RDRF: 接收数据寄存器满标志
4. SCIDRL,(SCIDRH): SCI数据寄存器
2.寄存器使用注意事项:
1. TDRE(TC)复位值为1,因此将SCICR2的TIE(TCIE)置为1即可产生中断
2. TDRE,TC的清除方法:读SCISR1,然后写SCIDRL,注意,发送完最后一个字节之后,会产生中断,但因为这是最后一个字节,故不会写SCIDRL,中断标志仍然存在
3. RDRF的清除方法:读SCISR1,然后读SCIDRL。
3.示例函数;
说明:
1.发送和接收都采用中断方式,以帧为基本处理单元,当接收到一帧完整数据时,置位接收标志,主程序不断查询接收标志,若接收标志置位,则调用接收处理函数解析接收到的帧。
2.通信协议基本形式:帧头(1字节) +通信头(1字节) +通信数据长度(1字节) +通信数据+校验字(1字节)
通信头:表示通信的内容
通信数据长度 =通信数据长度 +校验字长度
- MC9S12XDP512串口使用笔记(中断方式)
- MC9S12XDP512串口使用笔记(中断方式)
- 串口通讯程序(中断方式)
- 串口中断方式通信(非类库)
- 串口中断方式通信(非类库)
- STM8S003F使用IO口模拟串口(三)使用中断方式发送和接收数据
- Linux串口编程(中断方式和select方式)
- Linux串口编程(中断方式和select方式)
- Linux串口编程(中断方式和select方式)
- Linux串口编程(中断方式和select方式)
- MSP430串口接收程序(使用中断)
- STM32串口中断使用
- STM32串口中断使用
- STM32串口中断方式接收
- ARM中断方式串口编程
- STM32串口中断方式接收
- 串口中断方式实现FIFO
- 【51单片机学习过程记录】16 中断之 串口中断的应用2(中断方式)
- 关于浮点数出现在条件控制语句中的问题
- 对话框模板,RegexTest by Paul DiLascia
- 算法设计作业;贪心;
- C语言 SDK编程之通用控件的使用--ListView
- 测度论与概率论基础
- MC9S12XDP512串口使用笔记(中断方式)
- JSpinner学习心得
- gzip: stdin: not in gzip format
- switch中的返回
- Hibernate映射一对多单向关联(之三)
- 安装sql server 2000成功后远程不能连接的问题
- SqlParameter.Size 属性 只有以下类型有效
- windows2003 中毒了
- 老人的请求