AT91SAM7SE应用 -- UART
最近在使用 ATMEL 的AT91SAM7SE256 来处理FPGA 输出的数据,然后再把数据发送到PC机端。
既利用了FPGA 高速数字信号处理的优势,又发挥了ARM处理器对控制类信号的简洁处理。。
在使用的过程中,感觉AT91SAM7SE256的资料比较少,所以在这里我把自己测试过的代码放上来,提供下载。。
开发环境如下所示:
IDE-Version:
μVision V4.23.00.0
Copyright (C) 2011 ARM Ltd and ARM Germany GmbH. All rights reserved.
Tool Version Numbers:
Toolchain: MDK-ARM Standard Version: 4.23
Toolchain Path: D:\Keil\ARM\BIN40
C Compiler: Armcc.Exe V4.1.0.894
Assembler: Armasm.Exe V4.1.0.894
Linker/Locator: ArmLink.Exe V4.1.0.894
Librarian: ArmAr.Exe V4.1.0.894
Hex Converter: FromElf.Exe V4.1.0.894
CPU DLL: SARM.DLL V4.23
Dialog DLL: DARMATS.DLL V1.20
Target DLL: UL2ARM.DLL V1.67
Dialog DLL: TARMATS.DLL V1.20
下面先放上利用UART模块通过RS232接口与 PC机通信的模块。。
默认使用的是UART0 模块。
uart.h
#ifndef UART_H #define UART_H#include "AT91SAM7SE512.h" #include "lib_AT91SAM7SE512.h" #include "Board.h"extern AT91PS_USART COM0;extern void uart_init (void); extern void print_str( char *buffer); extern void send_onebyte(uchar data);#endif
uart.c
#include "uart.h"AT91PS_USART COM0;/******************************************************************************* \fn AT91F_US_Printk* \brief This function is used to send a string through the US channel******************************************************************************/ void print_str(char *buffer) // \arg pointer to a string ending by \0 {while (*buffer != '\0'){while (!AT91F_US_TxReady(COM0));AT91F_US_PutChar(COM0, *buffer++);} }void send_onebyte(uchar data) {while (!AT91F_US_TxReady(COM0));AT91F_US_PutChar(COM0, data); }/******************************************************************************* Function Name : Usart_init* Object : USART initialization* Input Parameters : none* Output Parameters : TRUE******************************************************************************/ void uart_init(void) //* Begin {COM0 = AT91C_BASE_US0;//* Define RXD and TXD as peripheral AT91F_US0_CfgPIO();// First, enable the clock of the PIOBAT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_US0);// Usart Configure//AT91F_US_Configure(COM0, MCK, AT91C_US_ASYNC_MODE, USART_BAUD_RATE, 0);AT91F_US_Configure(COM0, MCK, AT91C_US_ASYNC_MODE, 19200, 0);// Enable usartCOM0->US_CR = AT91C_US_RXEN | AT91C_US_TXEN; }
头文件AT91SAM7SE512.h为μVision V4.23.00.0自带的
头文件 lib_AT91SAM7SE512.h 为 ATMEL提供的一个库文件,里面有一些使用的函数来实现对AT91SAM7SE256 的配置。文件请到这里下载。
转载于:https://www.cnblogs.com/xiangtailiang/archive/2012/08/30/2663238.html
AT91SAM7SE应用 -- UART相关推荐
- uart协议_UART协议简介
1UART UART是异步串口通信协议,英文全称是Universal Asynchronous Receiver /Transmitter 即通用异步收发传输器,它不像SPI和I2C这样的通信协议,但 ...
- linux uart m200平台波特率500kbps乱码问题和输入不响应问题
[问题] linux uart m200平台波特率500kbps乱码问题 [解答] [问题] linux uart m200平台波特率500kbps输入不响应问题 [解答] 转载于:https://w ...
- 串口的偶校验位设置_详解UART串口
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART) 是一种串行异步收发协议,应用十分广泛.UART工作原理是将数据的二进制位 ...
- c++ 测试串口速率_Raspberry Pi Zero W:串口(UART)的配置和使用
Raspberry Pi Zero W:串口(UART)的配置和使用 开启UART 据官方所言(https://www.raspberrypi.org/documentation/configurat ...
- 通讯波形记录——I2S、I2C、Uart、SPI
SPI波形 设置: UART I2S 扩展: I2S有3个主要信号: 1. SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲.SCLK的频率=2×采样频率 ...
- GPIO,I2C,SPI,UART,USART,USB的区别
1.简单区别: 1) GPIO(General Purpose Input Output )为通用输入/输出,通用端口,总线扩展器, 利用工业标准I2C.SMBus™或SPI™接口简化了I/O口的扩展 ...
- RPi 2B UART作为调试口或者普通串口
/*************************************************************************************** RPi 2B UART ...
- 八、mini2440裸机程序之UART(2)UART0与PC串口通信【转】
转自:http://blog.csdn.net/shengnan_wu/article/details/8309417 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.相关原理图 2.相关寄 ...
- uart口图片_认识UART接口
没有仔细研究过,就用了下,总结了点,也搜了点资料: 串口进行通信的方式有两种:同步通信方式和异步通信方式 SPI(Serial Peripheral Interface:串行外设接口); I2C(IN ...
- FPGA基础知识极简教程(6)UART通信与移位寄存器的应用
博文目录 写在前面 正文 关于UART的介绍 UART通信过程 UART.RS232以及TTL之间的关系 UART的使用场合 有关UART的总结 调试UART的技巧 UART的Verilog实现 波特 ...
最新文章
- 机器学习中的训练集 验证集 测试集的关系
- python使用np.argsort对一维numpy概率值数据排序获取升序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据
- md5加密用户登陆遇到的问题及解决办法
- Java 自增(++) 和 C语言中自增的区别
- Apache Flink 零基础入门(十六)Flink DataStream transformation
- 记录一次uni-app页面跳转无效 来回跳转问题
- 信息学奥赛一本通 1044:判断是否为两位数 | OpenJudge NOI 1.4 06
- tiptop 编译运行_putty终于让我的TIPTOP脱离虚拟机在64位上运行了。
- LeetCode 542. 01 Matrix
- WPF-005:关于使用PageFunction导航中KeepAlive的使用
- Python面向对象中的“私有化”
- 72. 文件上传(1)
- Lintcode--007(不同的子序列)
- cc2530c语言教程,cc2530程序设计实例之CC2530 RF部分使用—实现点对点收发 - 全文...
- Windows程序设计:一个简单的API函数调用实例
- c语言结构体函数传递方式,c-将struct传递给函数
- 二元一次方程有唯一解的条件_一个二元一次方程的一个解是
- 导航栏背景色、标题颜色以及返回键自定义
- 读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
- 深发银行为什么要更名为平安银行?
热门文章
- 万网域名查询是否注册接口
- 个保法(PIPL)颁布实施一周年,给行业带来了哪些变化?
- safari java插件故障_Safari Flash插件故障怎么办-Safari Flash插件故障解决方法 - 河东软件园...
- 数据之路- 中国五城市PM2.5数据解读
- P2627 [USACO11OPEN]Mowing the Lawn G
- matlab设置角度和弧度制,matlab 可不可以用角度制不用弧度制?
- 基于Python的宋词生成器
- 运维工程师必会原理知识
- 用canvas画太极图(一步步详解附带源代码)
- 微信小程序头像怎么改变形状_如何实现微信小程序换头像?三步帮你搞定!