资源简介
atmega16为核心的modbus通信系统
代码片段和文件信息
//ICC-AVR application builder : 2004-10-27 10:06:29
// Target : M16
// Crystal: 8.0000Mhz
#include “main.h“
//初始化变量
void varInit(void)
{
}//void valInit(void)
void port_init(void)
{
//
PORTA = 0xF0; //
DDRA = 0x00; //
PORTB = 0xFF; //
DDRB = 0xFD; //
PORTC = 0xFF; //
DDRC = 0x00; //
PORTD = 0xFF; //
DDRD = 0xFA; //
}//void port_init(void)
//Watchdog initialisation
// prescale: 2048K cycles
void watchdog_init(void)
{
WDR(); //this prevents a timout on enabling
WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
}//void watchdog_init(void)
void timer0_init(void)
{
//初始化1ms 定时中断
TCCR0 = 0x00;
TIFR = 0x00;
TCNT0 = 0x83;
TCCR0 = 0x03;
}//void timer0_init(void)
//ADC initialisation
// Conversion time: 52uS
void adc_init(void)
{
uint8 adcMux = 0;
ADCSR = 0x00; //disable adc
ADMUX = 0xc0 |(adcMux&0x0f); //select adc input 0 2.56V参考源
ACSR = 0x80;
ADCSR = 0x85; //使能ADC 32分频
}//void adc_init(void)
//UART0 initialisation
// desired baud rate: 9600
// actual: baud rate:9615 (0.2%)
// char size: 8 bit
// parity: Even
void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = 0xA6;
UBRRL = 51; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB = 0xD8;
receEnable();
}
#pragma interrupt_handler uart0_rx_isr:12
void uart0_rx_isr(void)
{
uint8 status;
//uart has received a character in UDR
status = UCSRA;
receBuf[receCount] = UDR;
if(status & 0x1c) //通信出错
checkoutError = 2; //偶校验出错
//testRegister = status;
receCount++; //接收地址偏移寄存器加1
receCount &= 0x1f; //最多一次只能接收32个字节
receTimeOut = 10; //通讯超时值
}
#pragma interrupt_handler uart0_tx_isr:14
void uart0_tx_isr(void)
{
//character has been transmitted
if(sendPosi < sendCount)
{
sendPosi++;
UDR = sendBuf[sendPosi];
}
else
{
receEnable(); //发送完后将485置于接收状态
receCount = 0; //清接收地址偏移寄存器
checkoutError = 0;
}
}
//call this routine to initialise all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
watchdog_init();
timer0_init();
adc_init();
uart0_init();
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x01; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialised
}//void init_devices(void)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2605 2005-03-16 16:57 modbusM16\modbusM16\init.c
文件 351 2005-03-16 17:20 modbusM16\modbusM16\init.dp2
文件 16348 2005-03-16 17:20 modbusM16\modbusM16\init.lis
文件 4166 2005-03-16 17:20 modbusM16\modbusM16\init.o
文件 7361 2005-03-16 17:20 modbusM16\modbusM16\init.s
文件 1860 2005-03-16 17:10 modbusM16\modbusM16\main.c
文件 351 2005-03-16 17:20 modbusM16\modbusM16\main.dp2
文件 679 2005-03-16 17:14 modbusM16\modbusM16\main.h
文件 12924 2005-03-16 17:20 modbusM16\modbusM16\main.lis
文件 3833 2005-03-16 17:20 modbusM16\modbusM16\main.o
文件 5792 2005-03-16 17:20 modbusM16\modbusM16\main.s
文件 13004 2005-03-16 17:19 modbusM16\modbusM16\modbus16.c
文件 355 2005-03-16 17:20 modbusM16\modbusM16\modbus16.dp2
文件 649 2005-03-16 17:19 modbusM16\modbusM16\modbus16.h
文件 95034 2005-03-16 17:20 modbusM16\modbusM16\modbus16.lis
文件 22362 2005-03-16 17:20 modbusM16\modbusM16\modbus16.o
文件 39509 2005-03-16 17:20 modbusM16\modbusM16\modbus16.s
文件 13004 2005-03-16 17:05 modbusM16\modbusM16\modbus16._c
文件 649 2005-02-05 01:22 modbusM16\modbusM16\modbus16._h
文件 12868 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.cof
文件 9220 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.dbg
文件 8539 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.hex
文件 27 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.lk
文件 60493 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.lst
文件 1890 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.mak
文件 4383 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.mp
文件 841 2005-03-16 17:20 modbusM16\modbusM16\modbusM16.prj
文件 81 2005-03-16 16:55 modbusM16\modbusM16\MODBUSM16.SRC
目录 0 2007-11-25 16:40 modbusM16\modbusM16
目录 0 2007-11-25 16:40 modbusM16
............此处省略3个文件信息
- 上一篇:Nordic51822 被连接时打开广播
- 下一篇:寒假社会实践报告3000字
相关资源
- Modbus协议官方文档中、英文全
- Omron ETN21模块进行modbustcp通讯
- modbus通讯协议详解
- MCGS与单片机通信
- VC 6 Modbus RTU测试程序
- atmega16硬件产生方波的程序
- modbus51_c代码
- Modbus TCP Client
-
NModbus4 通讯类库(fr
amework4.5版本) - 西门子S7-1200 MODBUS-TCP通讯编程
- 200SMART Modbus-TCP通信程序演示-轮询(多
- 整理的ModbusProtocol SDK开发包
- delphi编写的modbus测试源码
- modbus通讯,用DELPHI编写
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- ATmega16A DataSheet
- 自制AVR ATmega16 JTAG2008
- 人民电器电表modbus rtu通信协议解析
- ModBus-RTU协议C封装
- 51单片机编写的标准modbus协议通信模版
- STM32F103移植FreeModbus实现modbus主机.zi
- 台达PLC44个程序
- Modbus—TCP协议
- 单片机modbus例程解析
- RS485串口调试工具
- 两轮平衡车源程序,方能仪器,自平
- MODBUS--ASCii实现的主要代码
- QJ71MT91.pdf
- modbus模拟器.rar
- stm32 modbus 协议程序
川公网安备 51152502000135号
评论
共有 条评论