本帖最后由 happde 于 2011-10-26 19:25 编辑
si1000无线单片机,现在需要发送大于64个字节数据。A单片机发送的数据如下:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F B端接收数据:40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F。那么接收的数据也应该是0到5F而现在不是。 我的做法是在A单片机:1、寄存器7D,设置TX FIFO 几乎为空的阀值10个字节 2、在7F寄存器填入64字节,启动发射数据。3、等待FIFO几乎为空中断 4、中断发送后,在填入32个字节到FIFO.在等待FIFO几乎空中断。
B单片机: 在7F寄存器设置 RX FIFO 几乎为满的阀值54个字节。等待中断发生。从7F寄存器连续读32个字节,再次中断发送再次读32个字节,直到读完96个字节。 |