-
大小: 1.1MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-11-04
- 语言: 其他
- 标签: AT91SAM7S64 RS485
资源简介
ATMEL的AT91SAM7S64的RS485通讯程序,中断方式接收,收到后立即通过485发送出去,485配置的管脚为PA5,PA6,PA7(收发使能),开发环境是IAR Embedded Workbench 4.5。
对于一个数据串的接收也是类似的,采用收到数据中断方式,在收完完整的数据后(接收结束后)才能发送,否则会存在总线冲突。
代码片段和文件信息
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered “AS IS“ without warranty or condition of any
//* kind either express implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name : Cstartup_SAM7.c
//* object : Low level initializations written in C for Tools
//* Creation : 12/Jun/04
//* 1.2 28/Feb/05 JPP : LIB change AT91C_WDTC_WDDIS & PLL
//* 1.3 21/Mar/05 JPP : Change PLL Wait time
//* 1.4 21/Aug/05 JPP : Change MC_FMR Setting
//* 1.5 29/Aug/05 JPP : Change PLL error
//* 1.6 13/oct/05 JPP : Change comment
//*----------------------------------------------------------------------------
// Include the board file description
#include “Board.h“
// The following functions must be write in ARM mode this function called directly
// by exception vector
extern void AT91F_Spurious_handler(void);
extern void AT91F_Default_IRQ_handler(void);
extern void AT91F_Default_FIQ_handler(void);
//*----------------------------------------------------------------------------
//* \fn AT91F_LowLevelInit
//* \brief This function performs very low level HW initialization
//* this function can be use a Stack depending the compilation
//* optimization mode
//*----------------------------------------------------------------------------
void AT91F_LowLevelInit( void)
{
int i;
AT91PS_PMC pPMC = AT91C_base_PMC;
//* Set Flash Waite sate
// Single Cycle Access at Up to 30 MHz or 40
AT91C_base_MC->MC_FMR = AT91C_MC_FWS_1FWS ;
//* Watchdog Disable
AT91C_base_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS;
//* Set MCK at 48 054 850
// 1 Enabling the Main Oscillator:
// SCK = 1/32768 = 30.51 uSecond
// Start up time = 8 * 6 / SCK = 56 * 30.51 = 146484375 ms
pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06 <<8) | AT91C_CKGR_MOSCEN ));
// Wait the startup time
while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
// 2 Checking the Main Oscillator Frequency (Optional)
// 3 Setting PLL and divider:
// - div by 14 Fin = 1.3165 =(18432 / 14)
// - Mul 72+1: Fout = 96.1097 =(36864 *73)
// for 96 MHz the erroe is 0.11%
// Field out NOT USED = 0
// PLLCOUNT pll startup time estimate at : 0.844 ms
// PLLCOUNT 28 = 0.000844 /(1/32768)
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 14 ) |
(AT91C_CKGR_PLLCOUNT & (28<<8)) |
(AT91C_CKGR_MUL & (72<<16)));
// Wait the startup ti
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 801280 2006-03-10 14:38 AT91SAM7S64-USART485\basicUSART-USB.doc
文件 61 2008-06-18 17:05 AT91SAM7S64-USART485\note.txt
文件 438 2005-03-02 13:52 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\main.html
文件 269 2005-08-31 17:31 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\sam7.html
文件 17137 2005-08-31 17:31 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\tools.html
文件 10710 2008-06-18 17:05 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\USB.dep
文件 24667 2006-03-06 10:42 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\USB.ewd
文件 45429 2008-06-10 15:21 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\USB.ewp
文件 157 2005-08-31 17:31 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\UsbSAM7.eww
文件 244 2005-11-10 09:06 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\CVS\Entries
文件 38 2005-11-10 09:04 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\CVS\Repository
文件 58 2005-11-10 09:04 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\CVS\Root
文件 74697 2008-06-18 17:01 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Exe\USB.d79
文件 967 2008-06-18 17:01 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Exe\USB.sim
文件 21049 2008-06-18 17:01 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\List\USB.map
文件 21721 2006-03-07 17:58 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\cdc_enumerate.r79
文件 40925 2006-03-06 10:40 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\Cstartup.r79
文件 12819 2006-03-07 17:58 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\Cstartup_SAM7.r79
文件 25307 2008-06-18 17:01 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\interrupt_Usart.r79
文件 15517 2008-06-18 11:01 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\main.r79
文件 932 2008-06-10 11:47 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\signal_process.pbi
文件 751 2008-06-18 17:01 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\FLASH\Obj\USB.pbd
文件 81530 2006-03-08 12:10 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Exe\USB.d79
文件 26937 2006-03-08 12:10 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\List\USB.map
文件 21721 2006-03-08 10:43 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Obj\cdc_enumerate.r79
文件 40925 2006-03-06 10:39 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Obj\Cstartup.r79
文件 12819 2006-03-08 10:43 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Obj\Cstartup_SAM7.r79
文件 24399 2006-03-08 10:44 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Obj\interrupt_Usart.r79
文件 17122 2006-03-08 12:10 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Obj\main.r79
文件 627 2007-07-02 11:11 AT91SAM7S64-USART485\AT91SAM7S-BasicUSART_USB\compil\RAM_Debug\Obj\USB.pbd
............此处省略122个文件信息
相关资源
- stm32f103 通过485方式读取数据
- 汉枫_HF-LPB嵌入式WiFi模块_UART转WiFi_S
- 一款自动流向控制、宽接口电压的R
- STM32 RS485通信应用
- 基于RS-485的分布式多总线通信系统设
- RS422驱动.rar
- Modbus协议的工业自动化网络规范
- 基于STM32F103的RS485通信主动发送中断接
- 基于STM32F103的RS485通信采用DMA方式发送
- RS485串口调试案例带CRC校检
- STM32四通道4-20ma
- STM32F103单片机基于RS485总线的MODBUS通讯
- 基于STM32RS485总线的数据采集系统设计
- stm32f103 CAN-RS232/RS485
- stm32 rs485 modbus协议
- stm32 RS485测试程序
- STM32F103C8T6 CAN总线 RS485 RS232 源代码
- RS485通信模块设计以及智能家居系统
- RS485 Verilog通信程序及开发资料
- m-bus水表通信协议文档
- 串口调试软件 适用于rs485 rs232等串口
- 自由口通讯
- RS485采集模块与组态王V6.55通讯.rar
- STM8Rs485通信历程
- hi3516a uart1 转rs485
- 基于RS485总线的PC与单片机多机通信系
- rs485通信程序
- 基于Proteus的单片机RS232与RS485应用案例
- RS485通讯接口及程序测试方法
- 三菱FX2N实现MODBUS-RTU多台PLC通迅
评论
共有 条评论