毕业论文:基于CAN总线SPI口访问的430源代码(终稿).doc

毕业论文:基于CAN总线SPI口访问的430源代码(终稿).doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分享基于CAN总线SPI口访问的430源代码 dianyun,2007-11-02 15:22:41 验证过了吧 ywx520,2007-11-03 12:00:39 没问题! 感谢ywx520无私奉献 DC,2007-11-03 12:13:59 dianyun,2007-11-05 09:54:51 是啊,多谢,辛苦了 lb_torpedo,2007-11-23 12:33:24 楼主真的能调试通过吗?我在IAR3.41可是没办法通过!除了中断格式外 (1)主函数中没有初始化MCP2510 (2)inBuf后面没有加【】; 单纯从书上拷贝没办法运行的! 下面是可以编译通过的,不过实际运行还是有些问题,自发自首无法实现! #include <msp430x14x.h> #include "MCP2510.h" void Init_SPI (void); void Init_Port(void); void Init_CLK(void); void CS_Enable(void); void CS_Disable(void); void RessetMcp2510(void); int GetStatusMcp2510(void); void RtsMcp2510(char RTSn); void BitModiMcp2510(char addr,char mask,char data); void ReadMcp2510(int addr,int n,char outBuf[]); void WriteMcp2510(int addr,int n,char inBuf[]); void SetNormal(void); void IsSendComplete(int addr); void InitMcp2510(void); void SendMsg(int nDLC,char inBuf[]); int ReceiveMsg(char outBuf[]); int nTX0_Len; char nTX0_Flag; int nSend_TX0; char UART0_TX_BUF[26]; int nRX0_Len_temp; int nRX0_Len; char nRX0_Flag; int nRev_UART0; char UART0_RX_BUF[26]; char nRecID_Hi; char nRecID_Lo; void main(void) { ? ? ?char inBuf[8]; ? ? ?char outBuf[8]; ? ? ?int i; ? ? ?WDTCTL = WDTPW + WDTHOLD; ? // 关闭看门狗 ? ? ?? ? ? ? _DINT(); ? ?? ?? ?? ?? ?? // 关闭中断 ? ? ? ? ///////////////////////////////// ? ? // 初始化 ? ? Init_CLK(); ? ? Init_Port(); ? ? ?Init_SPI(); ? ? ?nSend_TX0 = 0; ? ? ?nRecID_Hi = 0; ? ? nRecID_Lo = 0; ? ? ?for(i = 0;i < 8;i++) ? ? ?{ ? ? ?? ?? ?inBuf= i; ? ? ?? ?? ?outBuf = 0; ? ? ?} ? ? ?_EINT(); ? ? ?InitMcp2510(); ? ? ?for(;;) ? ? ?{ ? ? ?? ?? ?ReceiveMsg(outBuf); ? ? ?? ?? ?SendMsg(8,inBuf); ? ? ?} } void Init_CLK(void) { ? ? unsigned int i; ? ? BCSCTL1 = 0X00; ? ?? ?? ?//将寄存器的内容清零 ? ? ?? ?? ?? ?? ?? ?? ?? ?? ?//XT2震荡器开启 ? ? ?? ?? ?? ?? ?? ?? ?? ?? ?//LFTX1工作在低频模式 ? ? ?? ?? ?? ?? ?? ?? ?? ?? ?//ACLK的分频因子为1 ? ? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ? do ? ? { ? ? ?IFG1 &= ~OFIFG; // 清除OSCFault标志 ? ? ?for (i = 0x20; i > 0; i--); ? ?? ?? ?? ?? ? ? ? } ? ? while ((IFG1 & OFIFG) == OFIFG); // 如果OSCFault =1 ? ? ? ?? ?? ?? ??

文档评论(0)

14576 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档