




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。基于低功耗单片机msp430的hart协议通讯程序。Hart1151.c#include msp430x14x.h#include hart1151.h#include link.h#include hartcmd.h#include periphery.h#include writeflash.h/*-*/extern void link_init(void);extern void dsp_init(void);extern void mscom_init(void);extern void test(void);extern void Cal_para(void);/extern void periphery_init(void);extern void ADS_com_ini(void);extern void ADS_Calibration(void);unsigned int IsADSOk(void);extern int ADS_DataIn(int din);extern void DA_DataOut(unsigned int dout);float adtof(int adata);/extern void Serial1Receive(void);extern void Serial1Send(void);extern void SendReady(void);extern void Serial0Receive(void);extern void TimeOut(void);extern void EnableIndicate(void);extern void xmtRequest(void);extern void xmtConfirm(void);extern void CarrierArrive(void);extern void xmtEnable(void);extern void xmtUsing(void);extern void AD_DA(void);extern void DAV_KB(unsigned int y2,unsigned int y1,float x2,float x1,unsigned char i);/extern void R_EEPROM_P_T(unsigned char location,int *p_add);/extern unsigned char W_EEPROM_P_T(unsigned char location,unsigned char *p_add);/extern unsigned int E_Write_int(unsigned int Addr,unsigned int Data);extern unsigned int E_Write_Block(unsigned long Len_Addr,char *pData);extern unsigned int E_Read_Block(unsigned long Len_Addr,char *pData);extern unsigned int E_Verify_Block(unsigned long Len_Addr,char *pData);extern unsigned int E_Write_int(unsigned int Addr,unsigned int Data);extern unsigned int E_Write_float(unsigned int Addr,float Data);extern unsigned char ADS_RegRd_sigle(char Reg);extern void ADS_RegWrt_sigle(char Reg,char Data);extern void testFM(void);extern int ADS_ReadData(void);extern void SendStart(void);extern void HartResetAD(void);extern void TempLine(unsigned int y2,unsigned int y1,float x2,float x1);extern void TempCompensate(void);extern void ADGet_TEMP(void);extern void ADchange_temp(void);extern void ADchange_pv(void);/extern void FRam_ini();void JustWR(void);void ReadFlash(void);void Read_Modulus(volatile char *flashsegment,unsigned char *point,int Num,unsigned char *pointtag);/源地址、目的地址、写字节大小、头文件地址void IniWrite_Modulus(volatile char *flashsegment,unsigned char *point,unsigned char *pointtag,int num);void Write_Modulus(volatile char *flashsegment,unsigned char *point,unsigned char *pointtag,int num);void Write_Parameter(volatile char *flashsegment,unsigned char *point,unsigned char *pointtag,int num);void IniWrite_Parameter(volatile char *flashsegment,unsigned char *point,unsigned char *pointtag,int num);void Flash_Clear(volatile char *WriteAddress);/extern unsigned char PreamNum;/定界符长度extern unsigned char SAddr;/仪表短地址extern unsigned char Addr5;/仪表长地址extern unsigned char ADComBuf8;extern unsigned char ADwdtCnt;extern unsigned char ADRstCnt;extern unsigned char StaticCurrent;extern int Write_p;extern unsigned char CharacterS;extern unsigned char Character_OF;extern unsigned char Character_PF;extern float BaseDAk,BaseDAb;extern unsigned int DAOutCode;/unsigned int mainiv;unsigned int mainifg;unsigned char XmtCount;/发送次数unsigned char BurstCmd;unsigned char RstOk;int AData,AData2;float ADataf,ADataf2;struct EEP_DataT EEP_RamT;/,EEP_RamT_re;struct EEP_Data EEP_Ram;/,EEP_Ram_re;int Thesta;int ADC_Num=0;unsigned char Nowis_Temp=0;unsigned int ADStatues=0;extern float UnitRange_Arry15;extern unsigned char needwrite_modulus;extern unsigned char needwrite_parameter;unsigned char After133,needwrite=0;extern float sqr_t(float a);externvoid IniTemp_Re(unsigned char i); externvoid IniTemp_ReDA(unsigned char i); externfloat ZXC;/通过线形校正后的数值externfloat PVatafold;externfloat PVataf;externunsigned char TimeLimit;externunsigned int DANum;externunsigned int DaD;/-float SensorArry6= 1.49,7.46,37.296,186.45,689.50,2068.00 ;/-unsigned int ADCresult; unsigned long int DegC;/*将密码写入*/*#define SEG1 0x1200 /输入部分量程结构存储地址#define SEG1LEN 512#pragma memory=constseg(RANGETABLE1) / range paramater saved from 0x1200-0x13ff (flash)int EEP_Flag; #pragma memory=default*/* routine-writeflash in-flash address point, data point, data length out-none Description-write appoint clear appoint segment */*void WriteFlash(char *segadd, int seglength, int offset, char *value, int len ) int i;char buf512; for(i=0;iseglength;i+)*(buf+i)=*(segadd+i); /read old data to buf memcpy(buf+offset,value,len); / set new data to buf WDTCTL = WDTPW + WDTHOLD; / Stop WDT _DINT(); /Disable interrupt FCTL2=FWKEY+FSSEL0+FN0; / MCLK/2 for Flash Timing Generator while( FCTL3 & BUSY ); / wait for current operation over FCTL3 = FWKEY; / Clear Lock bit FCTL1 = FWKEY + ERASE; / Set Erase bit *segadd = 0; /Dummy write to erase Flash segment while( FCTL3 & BUSY ); / wait for current operation over FCTL3 = FWKEY; / Clear Lock bit FCTL1=FWKEY+WRT; / Set WRT bit for write operation for(i=0;i=SEG2) segadd=(char*)SEG2; seglen=SEG2LEN; offset=(int)decptr-(int)segadd; WriteFlash(segadd,seglen,offset,(char*)srcptr,sizeof(RANGE_STRU); _EINT(); */ /-struct EEP_DataT EEP_DataStatic= 0x5656,/int EEP_Flag;0x26,3,9,1,0x08,/int Addr5;MFR_Rosemount,Type_11510,/int SAddr; |c0,/int Poll_Flag;/轮训地址标志位,为1表示轮训状态; 0x20,0x53,0x0c,0x3e,/|100x15,0xc5,0x30,0x33,0xcd,0x16,0x05,0x0f,0x81,0xa2,0x05,0x28,0x90,0x4e,0x1e,0x05,0x4e,0x25,0x6b,0xa1,/int Messenger24; 0x42,0xd5,0x12,/P-TR0xc3,0xc,0x30,/0000/TERT1151/int Tag6;/Tag,Packed-ASC 0x50,0x54,0x94,/TERT0xc7,0x1d,0x71,/11510x82,8,0x20,/NULL0x82,8,0x20,/int Descr12;/Descriptor,Packed-ASC 3,7,0x67,/int Date3;/Date,8-bit unsigned /integers,day,month,year 0,0,0,/intSerialNum3;/Primary Variable Sensor Serial Number0x0b,/intSpanUnits;/Primary Variable Sensor Limits and Minimum Span Units Code0,/intAlarmSel;/Primary Variable Alarm Selection Code0,/intXferFunc;/Primary Variable Transfer Function Code0x0b,/intRangeUnits;/Primary
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度年福建省政府采购评审专家资格通关试题库有答案
- 2025年电焊工三级安全教育考试试题及答案
- 金融行业审计智能化解决方案报告:2025年人工智能算法在风险管理中的应用
- 2025年大学移民管理专业题库- 移民流动性与社会关系网络研究
- 2025年大学劳动教育专业题库- 大学生劳动教育与创新能力培养
- 2024-2025年中国抽水蓄能行业市场调查报告:技术创新推动产业发展
- 2025年大学工会学专业题库- 工会学专业教学方式创新与效果评估
- 2025年大学科学教育专业题库- 科学教育的创新发展与科技
- 2025年统计学专业期末考试:统计数据可视化在金融领域的应用试题
- 2025年大学融合教育专业题库- 社区服务教育在大学融合教育中的地位和作用
- 外科学-第十一章-外科感染(含案例分析)课件
- 《ch棘皮动物》课件
- 急诊科岗位职责
- 中国服用过兴奋剂运动员名单 兴奋剂真的是毒品吗
- 小学英语语法时态讲解与归纳
- 《生存与修炼》熊厚音讲《道德经》教学文案
- 淘宝新店运营计划书文献
- 产教融合校企合作[可修改版ppt]课件
- ICH Q6B 生物技术产品和生物制品的检验方法和可接受标准
- 12贮水花盆案例总结-2015天津中心修改43
- (精心整理)六方最密堆积空间利用率和密度的计算
评论
0/150
提交评论