Uart串口
title: Uart串口
tags: ARM
date: 2018-10-20 16:38:28
Uart串口
和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的,简单的应用测试可以先关掉中断.从下图看到,usb转串口连接到COM1,COM1是内部的Uart0


程序初始化
| UART0 | |
|---|---|
| RX0 | GPH3 |
| TX0 | GPH2 |
//init uart
void 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++;
}
}
Uart串口的更多相关文章
- (三) UART 串口通讯
UART : university asynchronous receiver and transmitter UART // 通用异步接收器和发送器 为什么要有串口:因为许多嵌入式设备没有显示屏 ...
- 【C51】UART串口通信
我们常需要单片机和其他模块进行通信,数据传输,常用的方式就是串口通信技术. 常用来 单片机<-->电脑, 单片机<-->单片机之间通信. 串行通信 versus 并行通信 并 ...
- Uart串口与RS232串口的区别
Uart指的是TTL电平的串口:RS232指的是RS232电平的串口. TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平. Uart串口的RXD ...
- uart串口协议
uart串口协议 /* USART Word Length ---------------------------------------------------------*/ US ...
- RTC实时时间系统学习笔记(一)---------------UART串口
临近研三了,自己倾向于要找数字IC方面的工作,苦于教研室的项目一直都是调板子调板子调板子,真正用到FPGA的很少,,本着"工欲善其事必先利其器"的原则,在网上搜寻如何自学FPGA, ...
- 第十六章 IIC协议详解+UART串口读写EEPROM
十六.IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilog代码实现使用串口读写EEPROM的功能. 以下为原文 ...
- linux UART串口驱动开发文档
转:http://www.360doc.com/content/10/0417/18/829197_23519037.shtml linux UART串口驱动开发文档时间:2010-01-09 14: ...
- Linux下使用putty进行UART串口调试【转】
本文转载自:http://blog.csdn.net/xzongyuan/article/details/11593101 版权声明:本文为博主原创文章,未经博主允许不得转载. 使用putty进行串口 ...
- 基于STM32之UART串口通信协议(四)Printf发送
一.前言 1.简介 前面在UART发送中已经讲解过如何调用HAL库的HAL_UART_Transmit函数来实现串口发送,而在调用这个函数来实现串口发送的话,但是在发送数据或者字符的时候,需要将数据或 ...
随机推荐
- 免费开源的会计软件 GnuCash 3.4 发布
导读 GnuCash 3.4已经发布,GnuCash是免费和开源的会计软件.GnuCash开发团队宣布推出GnuCash 3.4,这是3.x稳定版系列的第五版. 变化 在3.3和3.4之间,完成了以下 ...
- python 机械学习之sklearn的数据正规化
from sklearn import preprocessing #导入sklearn的处理函数用于处理一些大值数据 x_train, x_test, y_train, y_test = tr ...
- BZOJ2275[Coci2010]HRPA——斐波那契博弈
题目描述 N个石子,A和B轮流取,A先.每个人每次最少取一个,最多不超过上一个人的个数的2倍.取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个. 输入 第一行给出数字N,N< ...
- 读取CSV到DataTable
using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using Sy ...
- 大学jsp实验七--JavaBean在JSP中的应用
值bean的应用 (1)若有如下图所示的两个JSP页面,在第一个的页面的表单中填写相应内容,提交后再显示用户的提交信息.使用JavaBean的方式实现上述效果,请写出相应的代码. bean文件:Tes ...
- Codeforces264 B. Good Sequences
Codeforces题号:#264B 出处: Codeforces 主要算法:DP 难度:4.8 思路分析: 这题DP太难了…… 最终的解法是,令f[i]表示存在因子i的一个数作为子序列结尾的子序列的 ...
- Matplotlib学习---用matplotlib画散点图,气泡图(scatter plot, bubble chart)
Matplotlib里有两种画散点图的方法,一种是用ax.plot画,一种是用ax.scatter画. 一. 用ax.plot画 ax.plot(x,y,marker="o",co ...
- 【XSY2732】Decalcomania 可持久化线段树 分治
题目描述 有一个陶瓷瓶周围有\(n\)个可以印花的位置.第\(i\)个与第\(i+1\)个位置之间的距离为\(d_i\),在第\(i\)个位置印图案要\(t_i\)秒. 机器刚开始在\(0\)号位置, ...
- crawlspider_房多多
框架写起来代码是真的简洁多了,还有就是在requests爬取房多多的时候,无法爬取所有地区,而这个就不受影响 代码请查看码云 运行结果:
- Nginx 添加 PHP 支持
背景介绍默认安装的Nginx是无法打开php文件的,需要修改相关配置才能支持php 安装yum -y install epel-release yum -y install nginx yum ins ...