求教18F6680 CAN 的问题
|
||||
---|---|---|---|---|
新會員
|
請問各位高手:
我用18F6680 ,8MHZ晶振,500kbps 用了ECAN.H的头文件,为什么不能工作,ECAN.def设置如下: // SJW value - Value must be between 1-4 inclusive. #define ECAN_SJW_VAL 2 // // BRP value - Value must be between 1-64 inclusive. #define ECAN_BRP_VAL 1 // // PHSEG1 value - Value must be between 1-8 inclusive. #define ECAN_PHSEG1_VAL 3 // // PHSEG2 value - Value must be between 1-8 inclusive. #define ECAN_PHSEG2_VAL 2 // // PROPSEG value - Value must be between 1-8 inclusive. #define ECAN_PROPSEG_VAL 2 ECANInitialize(); while( !ECANSendMessage(0x300, MessageData, 8,ECAN_TX_STD_FRAME) ); 为什么用了上面一句后程序就死循环了,为什么永远发不结束. 自查了一下,发现好像是由于BusOff 了,就是COMSTAT_TXB0总为 “ 1”,请教这是由什么造成的,我只进行了初始化呀??
發表於: 2006/3/17 0:28
|
|||
|
关于常量定义的问题
|
||||
---|---|---|---|---|
新會員
|
我想在程序的Program ROM部分设置一块区域,用于储存产品生产的个数(从1~99999)
我用const unsigned long PID = 1;定义了一个常量,编译后产生的代码是 3401 3400 3400 3400,34代表的是RETLW 用西尔特的编程器用自动增量的方式写的时候每次只能增加255个就要跳过34,再进一位, 请问有什么办法把常量定义在连续的区域?
發表於: 2005/10/21 22:07
|
|||
|