modbus for MSP430f149
达好硬件可以直接使用,这里IC用的MSP430F149,这个可以改的,基本上430系列通用. 下面为部分代码: //接收到一个字节以后,设置3.5byte定时中断, //如果接收到下一个字节没有超时,则重新设置3.5byte定时中断, //一旦中断产生,表示正常接收完毕,或者接收数据出错 #ifdef __IAR_SYSTEMS_ICC__ #if __VER__ >= 200 #pragma vector=TIMERA1_VECTOR __interrupt void Timer_A1 (void) #else interrupt[TIMERA1_VECTOR] void Timer_A1 (void) #endif #endif { UINT len; if(TAIV==4) { CCTL2 &=~ CCIE; //Disable CCR1 timer interrupt ME1 &=~ URXE0; //Disable USART0 RXD if(CommBuf[1]==0x03) { if(CommBufPtr==8) //03命令必须是8字节数据 { if(CrcCheck(6)) //03 命令的前6个字节要做校验,CRC ok { len = CommBuf[5]<<1; //*2 CommBuf[2] = (UCHAR)len; //在这里修改需要发回的数据 memcpy(&CommBuf[3],Ram_Data,len); CrcMake(len+3); //数据及其前面3个字节需要做CRC运算 // CommNeedToSend = len+5; CommNeedToSend = len+6; len = TAR+TIMER_CNT_35; while(TAR<len); //等待至少3.5byte时间后再发送 RS485_DE; CommBufPtr = 0; //用于发送操作 TXBUF0 = CommBuf[0]; //启动发送操作 } //else //在这里做错误处理 //{} } //如果不是8字节,就认为前面的数据是不完整的,丢弃,重新接收 } else if..............
- 1
- Shuiyanyi2014-06-12很好!很实用!!!
- nujil85880822014-07-03貌似可以用,正在学习
- chenzhiyong2014-11-07虽然贵,但还是值得一看
- gruki2014-07-31真心感觉不错,稍微修改就可以直接使用了。感谢!
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助