S3C6410 轮询串口配置
来源:互联网 发布:js input 光标颜色 编辑:程序博客网 时间:2024/05/20 13:16
一, 串口设置
串口需设置为 8位数据位 1位停止位 0位校验位 8n1 ,波特率 115200 ,无流控。
1. 配置GPIO引脚为串口功能
2. 数据数据配置 8N1
使该寄存器设置为 0x03 。正常模式 8位数据位 1位停止位 无校验位
3. 设置串口模式
使该寄存器设置为 0x05 。 发送接收设置为 中断或者轮询模式 其他位设置为零
4. 使能发送接收FIFO
[7:6] [5:4] 用于中断
设置[0] 位为 1 使能FIFO 其他设置为零
5. 设置UMCONn 为零 关闭流量控制
6. 设置波特率
波特率设置根据公式
DIV_VAL = UBRDIVn + (num of 1’s in UDIVSLOTn)/16
DIV_VAL = (PCLK / (bps x 16 ) ) −1
设置两个寄存器
UBRDIV n 即为公式 UBRDIVn
UDIVSLOT n 这个寄存器中 1 的个数 即为 (num of 1’s in UDIVSLOTn)
波特率 115200 PLCK = 66.5MHz
计算得 DIV_VAL = (66.5*10^6/ (115200 x 16 ) ) −1 = 35.08
35.08 = 35 + 0.08 即 UBRDIVn 设置为 35
(num of 1’s in UDIVSLOTn)/16 = 0.08 num of 1’s in UDIVSLOTn = 1
7. 发送数据与接收数据
发送数据 首先读取串口状态寄存器 UFSTATn 保证发送FIFO 未满, 即 [14] 位不能为1 。往URXHn 寄存器中写入一个字节 即发送
接收数据 首先读取串口状态寄存器UFSTATn 保证接收FIFO 有数据 即[5:0] 不为零 。读取 URXHn 寄存器的值 即受到一个字节的数据。[6] 判断接收FIFO 是否满。
- S3C6410 轮询串口配置
- s3c6410 串口初始化
- s3c6410串口调试总结
- WINCE6.0+S3C6410串口驱动
- s3c6410串口裸机开发串口波特率计算
- S3C6410 GPIO配置
- S3C6410 DRAM配置
- S3C6410 UART0 简单配置
- 串口驱动设计(基于S3C6410)
- S3C6410 开发环境配置 总结
- S3C6410启动模式配置介绍
- S3C6410超频800M配置
- S3C6410端口配置S3C64XX_GPL_OUTPUT(x)
- S3C6410同步/异步时钟配置
- 串口配置
- 多串口芯片16550驱动移植到s3c6410上
- S3C6410裸机UART驱动(将printf重定义到串口)
- linux串口驱动——s3c6410平台(一)
- 对指定文件夹及其子文件夹下面的某一类格式(.tif)的文件进行重命名
- Spring对jdbc操作的支持
- Python matplotlib 练习题
- 【scrapy】爬取框架使用流程(1)
- 关于将数组作为参数传递给函数的简单使用
- S3C6410 轮询串口配置
- HDU2094 考新郎
- 平面波的角谱理论
- 热修复Andfix原理及实践
- 网络编程(知识点)
- 成长之路:大树哲学 2017.08.08
- (16)添加附件、删除附件
- Unity3D设计模式之观察者模式(16)(二)
- [Error] The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml ...