最近在使用 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

View Code

#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

View Code

#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相关推荐

  1. uart协议_UART协议简介

    1UART UART是异步串口通信协议,英文全称是Universal Asynchronous Receiver /Transmitter 即通用异步收发传输器,它不像SPI和I2C这样的通信协议,但 ...

  2. linux uart m200平台波特率500kbps乱码问题和输入不响应问题

    [问题] linux uart m200平台波特率500kbps乱码问题 [解答] [问题] linux uart m200平台波特率500kbps输入不响应问题 [解答] 转载于:https://w ...

  3. 串口的偶校验位设置_详解UART串口

    通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART) 是一种串行异步收发协议,应用十分广泛.UART工作原理是将数据的二进制位 ...

  4. c++ 测试串口速率_Raspberry Pi Zero W:串口(UART)的配置和使用

    Raspberry Pi Zero W:串口(UART)的配置和使用 开启UART 据官方所言(https://www.raspberrypi.org/documentation/configurat ...

  5. 通讯波形记录——I2S、I2C、Uart、SPI

    SPI波形 设置: UART I2S 扩展: I2S有3个主要信号: 1.  SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲.SCLK的频率=2×采样频率 ...

  6. GPIO,I2C,SPI,UART,USART,USB的区别

    1.简单区别: 1) GPIO(General Purpose Input Output )为通用输入/输出,通用端口,总线扩展器, 利用工业标准I2C.SMBus™或SPI™接口简化了I/O口的扩展 ...

  7. RPi 2B UART作为调试口或者普通串口

    /*************************************************************************************** RPi 2B UART ...

  8. 八、mini2440裸机程序之UART(2)UART0与PC串口通信【转】

    转自:http://blog.csdn.net/shengnan_wu/article/details/8309417 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.相关原理图 2.相关寄 ...

  9. uart口图片_认识UART接口

    没有仔细研究过,就用了下,总结了点,也搜了点资料: 串口进行通信的方式有两种:同步通信方式和异步通信方式 SPI(Serial Peripheral Interface:串行外设接口); I2C(IN ...

  10. FPGA基础知识极简教程(6)UART通信与移位寄存器的应用

    博文目录 写在前面 正文 关于UART的介绍 UART通信过程 UART.RS232以及TTL之间的关系 UART的使用场合 有关UART的总结 调试UART的技巧 UART的Verilog实现 波特 ...

最新文章

  1. 机器学习中的训练集 验证集 测试集的关系
  2. python使用np.argsort对一维numpy概率值数据排序获取升序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据
  3. md5加密用户登陆遇到的问题及解决办法
  4. Java 自增(++) 和 C语言中自增的区别
  5. Apache Flink 零基础入门(十六)Flink DataStream transformation
  6. 记录一次uni-app页面跳转无效 来回跳转问题
  7. 信息学奥赛一本通 1044:判断是否为两位数 | OpenJudge NOI 1.4 06
  8. tiptop 编译运行_putty终于让我的TIPTOP脱离虚拟机在64位上运行了。
  9. LeetCode 542. 01 Matrix
  10. WPF-005:关于使用PageFunction导航中KeepAlive的使用
  11. Python面向对象中的“私有化”
  12. 72. 文件上传(1)
  13. Lintcode--007(不同的子序列)
  14. cc2530c语言教程,cc2530程序设计实例之CC2530 RF部分使用—实现点对点收发 - 全文...
  15. Windows程序设计:一个简单的API函数调用实例
  16. c语言结构体函数传递方式,c-将struct传递给函数
  17. 二元一次方程有唯一解的条件_一个二元一次方程的一个解是
  18. 导航栏背景色、标题颜色以及返回键自定义
  19. 读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
  20. 深发银行为什么要更名为平安银行?

热门文章

  1. 万网域名查询是否注册接口
  2. 个保法(PIPL)颁布实施一周年,给行业带来了哪些变化?
  3. safari java插件故障_Safari Flash插件故障怎么办-Safari Flash插件故障解决方法 - 河东软件园...
  4. 数据之路- 中国五城市PM2.5数据解读
  5. P2627 [USACO11OPEN]Mowing the Lawn G
  6. matlab设置角度和弧度制,matlab 可不可以用角度制不用弧度制?
  7. 基于Python的宋词生成器
  8. 运维工程师必会原理知识
  9. 用canvas画太极图(一步步详解附带源代码)
  10. 微信小程序头像怎么改变形状_如何实现微信小程序换头像?三步帮你搞定!