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 ... 
