s5pv210
UART串口
通用串行异步收发器
串口协议:
起始位:
数据位:5-8bit
奇偶校验位:
停止位:
空闲位:
SFRS寄存器
ULCON0 =3 设置串口传输时的数据格式
数据位宽度:8bit
停止位:1bit
奇偶校验位:无校验
传输模式:正常(串口线)
UCON0 =5
数据接收模式:中断,轮询,DMA
数据发送模式:中断,轮询,DMA
发送暂停信号:正常
回环模式:自发自收,测试串口,正常
时钟源的选择:PCLK(66.5MHZ) SCLK_UART
UFCON0=0
UMCON0=0
UTXH0 发送缓冲寄存器
URXH0 接收缓冲寄存器
UTRSTAT0 状态寄存器
bit[0]接收标志
当URXH0包含有效数据时,该bit自动置1
bit[0]=1,读取URXH0寄存器
bit[1]=0,等待
bit[1]发送标志
当UTXH0为空时,该bit自动置1
bit[1]=1,向UTXH0写要发送的数据
bit[1]=0,等待
UBRDIV0 =35 产生波特率1
UDIVSLOT0=0x0080 产生波特率2
DIV_VAL=(PCLK/(bpsX16))-1
=(66500000/(115200X16))-1
=整数+小数部分
UBRDIV0=整数
UDIVSLOT0中1的个数=小数部分X16=整数+小数(舍去)
UDIVSLOT0中1的个数=整数
将该整数查表,得到UDIVSLOT0
TPAD 数据发送
PC 数据接收,显示在屏幕上
uart0_init()管脚的配置,串口寄存器的配置
uart0_putc()
uart0_puts()
TPAD接收字符
PC发送字符
getc()
实现回显
uart0_putc()打印字符
uart0_puts()打印字符串
TPAD 接收字符串的功能
实现:当输入回车字符,结束字符串的输入
思考:实现删除功能
‘\b’
uart0_putc(‘ ’);
键盘 显示 代码实现
0123
abc’/b’ abc
abc uart0_putc(‘/b’)
ab uart0_putc(‘ ’)
ab uart0_putc(‘/b’)
TPAD PC 之间数据通信
shell
shell#ledon 实现点灯
shell#ledoff 实现关灯
把LED程序和UART程序整合
任务:
命令行输入ledon,实现点灯
命令行输入ledoff,实现关灯
ledon led_on()
ledoff led_off()
命令结构体
uart0_puts();
100
十六进制
0x64
1.十进制数转换成十六进制
2.获得该数的ASCII值