请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC430F5137 工具/软件:Starterware
我使用了为 Variable_GT_FIFO (RF_Toggle_LED_Demo.c)提供的示例、该示例具有1MHz 频率和 TI 演示板。 一切都很好。 当我将时钟速度增加到20MHz 时、我必须将接收函数中的延迟周期从2800个周期调整为56000个周期、但仍然无法正确接收数据。 在位置84至89的缓冲区数组中,Gomebytes 丢失或错误。 具有任何曾经以更高时钟速度传输可变电池组的人。 请查看代码示例:
unsigned char RxBuffer[packet_LEN+2]={0}; unsigned char TxBuffer[packet_LEN+1]={ packet_LEN、0x00、0x01、0x02、0x03、 0x04、0x05、0x06、0x07、0x08、 0x09、 0x10、0x11、0x12、0x13、0x14、 0x15、0x16、0x17、0x18、0x19、 0x20、0x21、0x22、0x23、0x24、 0x25、0x26、0x27、0x28、0x29、 0x30、0x31、0x32、0x33、0x34、 0x35、0x36、0x37、0x38、0x39、 0x40、0x41、0x42、0x43、0x44、 0x45、0x46、0x47、0x48、0x49、 0x50、0x51、0x52、0x53、0x54、 0x55、0x56、0x57、0x58、0x59、 0x60、0x61、0x62、0x63、0x64、 0x65、0x66、0x67、0x68、0x69、 0x70、0x71、0x72、0x73、0x74、 0x75、0x76、0x77、0x78、0x79、 0x80、0x81、0x82、0x83、0x84、 0x85、0x86、0x87、0x88、0x89、 0x90、0x91、0x92、0x93、0x94、 0x95、0x96、0x97、0x98、0x99、 }; void ePacket (void) { rxBytesLeft = packet_LEN + 2;//为附加的字节设置最大包长度(leng + 2 ) rxPosition = 0;Received=0 ; unsigned char i; unsigned char ClockSpeed=20; for (i=0;i FIFO 大小 #define RSSI_IDX (packet_LEN+1)//附加 RSSI 的索引 #define CRC_LQI_IDX (packet_LEN+2)//附加 LQI 的索引、校验和 #define CRC_OK (BIT7) // CRC_OK 位 #define PATABLE_VAL (0x51) // 0dBm 输出 #define RX_TIMER_PERIOD (85) #define TX_TIMER_PERIOD (40) #define CC430_State_TX (0x20) #define CC430_State_IDLE (0x00) #define CC430_State_TX_underflow (0x70) #define CC430_State_mask (0x70) #define CC430_FIFO_bytes_Available 掩码(0x0F) #define CC430_State_RX (0x10) #define CC430_State_RX_overflow (0x60)
有什么想法、为什么我使用20MHz 时钟获得一些错误的字节? 我认为这是一个速度问题、但我不确定要做些什么来使其正确。
提前感谢。