S5PV210的Uart应用
来源:互联网 发布:c语言运算符号优先级 编辑:程序博客网 时间:2024/05/17 22:21
准备分析
资源工具
同《 S5PV210的LED应用(一)》
着手写程序
为实现代码最简化,只是在LED程序的基础上进行添加,其它硬件如NandFlash,重定向等等都不涉及。函数设计如下:
(1) void uart_init (void) ,初始化Uart
(2) char getc (void),接收一个字符
(3) void putc (char c) ,发送一个字符
(4) puthex(volatile char a),发送一个16进制数,对调试NandFlash有帮助,可以输出寄存器的值。(参考:这里)
(5) void main (void),测试以上代码。
具体的实现:
// 初始化串口 void uart_init(){// 1 配置引脚用于RX/TX功能GPA0CON = 0x22222222;GPA1CON = 0x2222;// 2 设置数据格式等// 使能fifoUFCON0 = 0x1;// 无流控UMCON0 = 0x0;// 数据位:8, 无校验, 停止位: 1ULCON0 = 0x3;// 时钟:PCLK,禁止中断,使能UART发送、接收UCON0 = 0x5; // 3 设置波特率UBRDIV0 = UART_UBRDIV_VAL;UDIVSLOT0 = UART_UDIVSLOT_VAL;}
// 接收一个字符 char getc(void){// 如果RX FIFO空,等待while (!(UTRSTAT0 & (1<<0)));// 取数据return URXH0; }
// 发送一个字符void putc(char c){// 如果TX FIFO满,等待while (!(UTRSTAT0 & (1<<2)));// 写数据UTXH0 = c; }
/* * 打印16进制数 * 例如:int a = 0x68; puthex(a);输出"68"; */int puthex(volatile char a){ volatile char cTmp; //putchar(a); //方法一printf //printf("\n%x\n", a); //方法二,计算 cTmp=a>>4;//右移4位,把高位放到低位 if(cTmp<10)//如果是小于10的数 { cTmp+='0';//以0-9输出 } else { cTmp+='A'-10; //大于等于10的就是ABCDEF了。 } putc(cTmp); cTmp=a&0x0f; if(cTmp<10) { cTmp+='0'; } else { cTmp+='A'-10; } putc(cTmp); return 0;}
void main()//LED 闪烁{char c = 0;int a = 0x68;GPJ2CON = 0x00001111;// 配置引脚GPJ2DAT = 0;// LED ondelay(0x100000);// 初始化串口 uart_init();// 开发板发送字符'A'putc('A');// 开发板发送"68"puthex(a);while (1){// 开发板接收字符c = getc();// 开发板发送字符c+1putc(c+1);}}
下载运行
同《 S5PV210的LED应用(一)》
运行调试
测试OK:
遗留问题
1.无
- S5PV210的Uart应用
- S5PV210的Uart应用
- s5PV210 UART
- S5PV210平台之UART 的 platform_device
- S5PV210的IRAM应用
- S5PV210的BL1应用
- S5PV210的BL1应用
- S5PV210 Uart Driver
- s5pv210 uart完善更新
- S5PV210之UART介绍
- S5PV210-UART-笔记整理
- S5PV210开发 -- UART 详解
- S5PV210的LED应用(一)
- S5PV210的LED应用(二)
- S5PV210的NandFlash应用(一)
- S5PV210的NandFlash应用(二)
- S5PV210的NandFlash应用(三)
- S5PV210的NandFlash应用(四)
- 一些学习单片机和C语言遇到的问题
- HTTP协议详解
- FourDigitDisplay
- 重建二叉树
- 旋转卡壳——凸多边形交
- S5PV210的Uart应用
- 旋转卡壳——临界切线
- android Launcher——ui框架
- 【设计模式】迭代器
- #define XBYTE ((unsigned char volatile xdata *)
- linux下利用pipe函数实现类似 “cat a.txt | grep a”的管道命令
- 旋转卡壳——凸多边形矢量和
- android Launcher——启动过程详解
- Recover Binary Search Tree