arm_day05

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值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值