博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uart串口
阅读量:6231 次
发布时间:2019-06-21

本文共 1086 字,大约阅读时间需要 3 分钟。


title: Uart串口

tags: ARM
date: 2018-10-20 16:38:28
---

Uart串口

和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的,简单的应用测试可以先关掉中断.从下图看到,usb转串口连接到COM1COM1是内部的Uart0

mark

mark

程序初始化

UART0
RX0 GPH3
TX0 GPH2
//init uartvoid Uart0_init(){    //配置GPIO 复用为uart    //配置相应的 GPHCON 为10 串口    // 也就是 _BIT5,BIT7 置1  BIT4,BIT6清零    GPHCON &=~(_BIT4|_BIT5|_BIT6|_BIT7);    GPHCON |=(_BIT5|_BIT7);    //设置上拉    GPHUP &=~(_BIT2|_BIT3);    //禁止红外,8N1    ULCON0=(_BIT0|_BIT1);    // PCLK(50M),中断/查询模式打开    // FCLK : HCLK : PCLK = 400m : 100m : 50m    UCON0 = (0x01)|(0x01<<2);     UBRDIV0=26;//CLK/(baund*16)-1    //UFCON0 FIFO 不使用    //UMCON0 不使用流控    //UTRSTAT0 中断标志位    //UERSTAT0 错误标志    //UFSTAT0  FIFO标志    //UMSTAT0  模式配置,CTS    //UTXH0、URXH0    BUF    //这里要清除标志位,不然好像有点问题    UTRSTAT0=0x06;}int putchar(int c){    while(!(UTRSTAT0&_BIT2));    // UTXH0 被定义为uint,这里应该是char类型的地址0x50000023(B)     UTXH0 = (unsigned char )c;}int getchar(void){    while(!(UTRSTAT0&_BIT0));    return URXH0;}int puts(const char *s){    while(*s)    {        putchar(*s);        s++;    }}

转载于:https://www.cnblogs.com/zongzi10010/p/10023572.html

你可能感兴趣的文章
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
Python3.4 12306 2015年3月验证码识别
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>