你好
我正在使用sps的例子来传输数据从串行设备通过uart到DA14580,并通过ble到另一个DA14580(与host_sps),然后通过uart到PC中的终端
我正在进行数据完整性问题 - 这就是我在终端中获得的(它只是流的一小部分,但掉掉沿着数据流突出):
77 00 fb f1 03 00 84 03 b2 07
78 80 17 F2 03 00 84 03 B2 07
79 00 ff f18.3 00 84 03 B2 07
FA 00 11 F2 03 00 84 03 B2 07
图7B 00 EF F1 03 00 84 03 B2 07
7c 00 fb f1 03 00 84 03 b28.7.
正如你所看到的,我在一些字符中得到了一个字符交换
有一些交换,"0"被交换为"8"(在二进制中只有一个位- "0":0011)0.000,“8”:00111000)
但是一些字符完全不同(“7”和“F”00110111,01000110)
我甚至试图降低传输速率到100kbit/s,但它仍然在发生
有什么问题?
TNX.
设备:
嗨roinovi,
我能想到的唯一可能发生这种情况的场合是由于未修剪的水晶。晶体微调值由软件提供,是一个通用值,大多数情况下适用于所有晶体。虽然这应该发生在uart字节传输的结束位。在使用DSPS android或iOS应用程序时,您是否遇到了同样的问题?除此之外,我们还没有观察到类似的情况。
谢谢mt_dialog.
你好
我在DSPS ios/android应用程序中也有这个问题
此外,还有一些数据块根本没有传输(无论我使用的板-murata或dialog)。
我看到它有问题的问题是“00”。
有时它不传输值00有时它不传输2 "00"之间的数据
E.G“13 23 54 67 54 00 ED H5 3E 67 00 8G AD DD”
它不会转移“00 ED H5 3E 67 00”
就像这样13 23 54 67 54 8g AD dd
它可以是什么?
也许是发送代码中的东西?
这确实是一个问题,因为如果我的数据没有被正确传送我不能使用这个BLE模块
TNX.
嗨roinovi,
我们至少在对话的套件上观察到数据完整性的任何问题,这是由于错误的晶体值发生的唯一时机。您是否尝试过DSP应用程序上的任何其他配置,如拆卸睡眠或将HW更改为SW流量控制。我刚刚在Android上测试了Per Patern和DSPS应用程序,并用新的下载FW所有数据似乎转移OK。DSP设备上的配置在延长睡眠和HW流控制中,具有适当的Pro套件的硬件修改。
谢谢mt_dialog.
你好
我试过消除睡眠,但还是一样
我怎样才能完全剥夺睡眠?
现在我使用默认的sps_device,并将其刻录到da14580对话框evtk -b上(因此水晶值应该是正确的)
我没有在代码中做任何改变,我得到的现象是一样的,一些特定的字符被交换
例如
0A 0D 36 00 F0 55 00 00 90 DC 01 00 30 63 03 00 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0 0 d 37 00 D8 59 00 00 78 E0 01 00 18 67 83 00直流05直流05直流05 00 00 00 00 00 00 00 00 00 00 00 FE 00 00 00 FC
0a 0d 38 00 c0 5d 00 00 60 e4 01 00 00 6b 03 00 dc 05 dc 05 dc 05 dc 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 80 FF
8A0D 39 00 A8 61 00 00 48 E8 01 00 E8 6E 03 00 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 80 FF
0 0 3 d 00 90 65 00 00 30 EC 01 00 D0 72 03 00直流05直流05直流05 00 00 00 00 00 00 00 00 00 00 80 FF 00 00 FF
0A 0D 3B 00 78 69 00 00 18 F0 01 00 B8 76 03 05 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 FF
这个0-> 8交换发生了一段时间
这也是如此(应该是所有21岁,但你可以看到“一种的“,而不是2)
21”一种1 21 21 21 21 21 21 21 21 21一种1 21 21 21 21 21 21 21 21 21一种1 21“一种1 21
可能有更多的,但我不会知道,所以你知道为什么它的一个大问题
可能是因为我通过UART接收数据并同时通过BLE发送吗?
你好
我在论坛上看到另一个类似的帖子,数据没有传输ok:
http://support.dialog-semicondiondiondimicon.com/dsps-hardware-flow-control-0.
你也没给他答复
你能帮我想个办法解决这个问题吗
谢谢你!
嗨roinovi,
后你提到的客户是使用外部通过dsp处理器发送数据,当使用一个外部proccessor事情更复杂和截断他经历可能是由于一个错误自己proccessor或程序,我们不能测试。
除此之外,当作为演示使用时,DSPS应该开箱即用,不需要修改任何东西。关于你的问题,我不能复制它与iOS和android或从pc到pc连接,我已经使用了基本和专业开发工具包,并发送数据与系列您指示。如果我丢失了一些东西(开发套件,sw设置,发送数据),你能分享一下你测试台的确切设置吗?除此之外,由于您使用的是基本套件,而且您使用的是外部FTDI,您能否尝试使用另一个FTDI,以防给您带来任何麻烦?也要确保你在终端中使用适当的设置(- dsp不使用任何特殊设置,但要确保- HW/SW流量控制,无论你在项目中设置了什么,也在终端选项中设置,8位数据-无奇偶校验/1停止位)。再过几天,SDK5上的DSPS也将发布,您可以尝试新版本并检查问题是否持续存在。
谢谢mt_dialog.
我的设置是这样的
我的设备(mcu)正在通过uart(引脚4,7)传输数据到一个对话14580 evkit, 14580正在将此数据传输到连接到PC(终端)的murata p2ml3656 evkit。
在对话框上-> sps_device,在murata上-> sps_host
我的设备正在以115K2在115K2中发送串行数据,因此对话框中缓冲区的时刻通过BLE数据发送完整信息
我认为当对话框在接收串行数据时通过ble传输时发生了小故障。
我试图每秒钟发送串行数据到对话框,然后通过ble发送它到murata,没有小故障,这就是为什么我相信它有一个问题,通过uart接收数据和通过ble同时发送数据
你知道这样的小故障吗?
此外,我想通过ble发送数据只有当我到达一个特定的字符串,我尝试修改
空白app_ble_pull(空白)
{
静态uint8_t rounds_waiting = 0;
int read_amount;
if(tx_busy_flag == 0 && ble_flags.txallowed == true)
{
read_amount = app_item_count(&uarttoble_buffer);
如果((* (uarttoble_buffer。data_ptr + uarttoble_buffer. readdidx)) == 253)
如果((* (uarttoble_buffer。data_ptr + uarttoble_buffer. readdidx +1)) == 170)
{
// if(read_amount> = tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)缓冲区 - > data_ptr + buffer-> readIdx
// {
// rounds_waiting = 0;
app_init_ble_tx ();
//}
}
}
}
但这行不通,你有什么想法吗?
TNX.
嗨roinovi,
由于您正在使用一个外部MCU发送数据,在您的MCU和580之间的UART时钟之间可能会有漂移,我认为您已经试图降低波特率,但问题仍然存在。你能不能给我们发一份你的MCU和580之间的逻辑分析仪的捕获图,让我们看看有错误的交易。也当您从Android发送并通过580或其他方式接收MCU上的数据时,您正在遇到问题?据我所知,我们在两侧转移数据时我们没有观察到任何毛刺。此外,据我所知,您可以对DSPS应用程序进行一些更改,您是否可以共享您发送给设备的更改和数据模式?
关于你试图做的我不太明白,所以我认为你想收集数据,直到一个特定的字符被接收,请尝试在DSPS应用程序中使用下面的片段,这应该保持你的流,直到你按下“r”字符为例。
空白app_ble_pull(空白)
{
静态uint8_t rounds_waiting = 0;
int read_amount;
if(tx_busy_flag == 0 && ble_flags.txallowed == true)
{
if((read_amount = app_item_count(&uarttoble_buffer)> 0 && *(uarttoble_buffer.data_ptr + uarttoble_buffer.writeIdx-1)=='r')
{
if(read_amount> = tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)
{
rounds_waiting = 0;
app_init_ble_tx ();
}
}
}
}
谢谢mt_dialog.
你好
1)我想看看问题是否在UART发送或BLE中,因此我将MCU的TX连接到EVKIT中的引脚4,我看到我的数据(来自MCU)通过UART完美地传输到EVKIT和终端,所以我不认为问题在于UART。
这是一块数据块,我通过UART到580周期性地发送每秒每秒发送给580:
55 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 3031 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 60 61 6263 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 9495 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8F9 FA FB FC FD FE FF 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 2A2B 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 4Ç4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AFB0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 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 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 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 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 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 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 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 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD AA
以上是从终端捕获的,同时将MCU的TX连接到580上的引脚4并在终端中收听到580 UART COM,数据完全转移。
2)我的设置是:我的MCU ---- uart>>> dialog 580—ble>>>murata p2ml3656—uart>>>pc(terminal)
我也看到了问题当我收到数据的dsp应用ios和android(所以我不认为它的变化我在sps_device只在app_ble_pull ble则启动程序,如果如如果((read_amount = app_item_count (&uarttoble_buffer)) > 0 & & * (uarttoble_buffer。data_ptr + uarttoble_buffer.writeIdx-1) == 'r'))
我还改变了缓冲区的大小,因为我需要在UARTTOBLE_BUFFER中保存1536个字节,然后通过BLE发送,以便在接收UART时不发送
#define RX_BUFFER_ITEM_COUNT (int) 1700
#define RX_BUFFER_ITEM_SIZE (uint8_t) 1 //**不改变item_size**
#define rx_buffer_hwm(int)1190 // 70%
#define rx_buffer_lwm(int)510 // 30%
这是我通过BLE传输它的同时获得数据的方式(此捕获来自终端):
55 00 01 02 03 048.5 068.7日088.9 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B9.C 1D.9.E 1F 20 21 A2 23 25 26 27 28 29 29 2B 2C 2D 2D 2D 2C 2D 2C 2D 2D 2D 2D 222FB.35 0 31 32 33 34 36 37 38 39 3 3 3 b c 3 d 3 e 3 f C0 41 42 43 44 45 46 47 48 C9 4 4 b 4 c d e CF 50 51 52 53 54 55 56 D7 58 59 5 5 5 b c 5 d 5 e 5 f 60 61 62 63 64 65 66 67 68 69 6 6 b 6 c 6 d EE 6 f 70 71 72 73 74 75 76 77 78 79 7 7 b 7 c 7 d 7 e 7 f 80 81 82 83 84 85 86 87 88 89 8 8 8 b c 8 d 8 e 8 f 90 91 92 93 94 95 96 97 98 99 9 9 b 9 c 9 d 9 e 9 f A0 A1 A2 A3 A4A5 A6 A7 A8 A9 AA AB AC广告AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9英航BB BC BD是男朋友C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB直流DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02年03 04 85 06 07年08年09年0 0 0 b c 0 d e 0 f 10 11 12 13 94 15 16 17 18 199.一种1B.1C 1D.1E 9F 20 21 22 23 24 A5 26 27 28 29 2A 2B 2C 2D AE 2F 30 31 32 33 34 35 36 B7 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 C9 4A 4B 4C 4D 4E 4F 50 51 52 D3 54 55 56 57 58 59 5A 5B DC 5D 5E 5F 60 61 62 63 64 65 E6 67 68 69 6A 6B 6C ED 6E 6F 70 71 F2 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 84 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D9.E 1F 20 21 22 23 24 25 26一种7 28 29 2a 2b 2c 2d 2e 2-2f 30 3 32 33 34 b5 36 b7 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 40 4c 4d 4d 4e 4e 4f 50 51 52 53 54d5 56 57 58 5859 5A 5B 5C 5D 5E 5F 60 E1 62 63 64 65 66 67 68 E9 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A8B 8C 8D 8E 8F 90 91 92 93 94 99 94 9A 9B 929F A0 A1 A2 A3 A4 A2 A2 A2 A2 A2 A5 A6 A7 A8 A9 AA AB AC AF AF B0 B1 B2 B3 B4 B5 B6 B7 B2 B9 BA BB BCBD是BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4D5 D6 D7 DF e0E1E2E2 E3 E4 E5 E6 E7 E2 E9A EA EB ED EEEF F0 F1 F2 F3 F4 F5 FC FC FD FF FF 00 01 02 03 04 05 86 0C 0D 0EF 10 11 12 1A 1B 1C 1D 1D 1F 2021 22 23 24 A5 26 22 2 29 2 2 29 28 2B 2D 2D 2E 2F 30 3 32 33 34 36 37 B8 39 3a 3b 3c 32 32 3f 40 41 42 44 45c6 47 48 49 4a 4b 4b 4c 4d 4f 50 51 5253 54 55 56 57 58 59DA 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 64 69 6A 6B 6C 6C 6D 6E 6F 70 F1 72 73 7475 76 77 78 79 7A FB 7C 7D 7E 7F 80 81 82 83 89 8A 8A 8B 8C 8D 8E 809191999989999999999998 94 9C 94 9C 94 9C 9S 9C 9C 9S 9C 9S 9C 9S 9C 9S 9S 9E 9S 9C 9E 9S 9C 9E 9S 9E 9S 9E 9S 9S 9C A2 A2 A2 A3 A4 A5 A6A7 A8 A9 AA AB AC AF B0 B1 B2 B3 B4 B5 B6 B7 B3 B9 BA BB BC BD是BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 Ca CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8D9 DA DB DC DD DE DF E0 E2 E2 E3 E4 E5 E2 E2 F2 F4 F5 F6 F2 F8 F9 FA FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 92 13 14 15 16 17 18 19 9A 1B 9C 1D 9E 1F A0 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 BF 40 C1 42 43 44 C5 46 C7 48 C9 4A CB 4C 4D 4E 4F 50 51 52 D3 54 55 56 57 58 59 5A DB 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 F9 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 81 02 03 04 05 06 07 08 09 8A 0B 8C 0D 0E 0F 10 91 12 93 14 95 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 B3 34 35 36 37 38 39 3A 3B 3C BD 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F D0 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D DE 5F 60 61 62 63 64 65 66 67 68 69 6A 6B EC 6D EE 6F 70 71 72 73 74 F5 76 77 78 79 FA 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD AA
数据应该是按升序(以55开始)的数字,就像你可以看到有毛刺一样
在二进制中,小故障在第一个位,例如:我得到85而不是05,在二进制中是:10000101而不是00000101
1C和9C也是一样:10011100而不是00011100等等
我怀疑这种情况发生在BLE和UART同时传输时,它可以吗?
我试图发送只有当没有uart传输,所以我做了:
if((uart_flags.txallowed == true)
但还是有小故障,
3)关于通过uart收集数据,直到一个特定的字符被接收,然后通过uart发送(你是正确的,这就是我正在尝试做的)
我尝试了你的建议:
空白app_ble_pull(空白)
{
静态uint8_t rounds_waiting = 0;
int read_amount;
if(tx_busy_flag == 0 && ble_flags.txallowed == true)
{
if((read_amount = app_item_count(&uarttoble_buffer)> 0 && *(uarttoble_buffer.data_ptr + uarttoble_buffer.writeIdx-1)=='r')
{
if(read_amount> = tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)
{
rounds_waiting = 0;
app_init_ble_tx ();
}
}
}
}
有用
TNX.
嗨MT,
我代表伊莱与你联系,作为“对话”在以色列的地方disti。
我们真的需要你的帮助来解决这个不断出现的问题。
ROI仍然在他接收到BLE界面上的数据上获取故障。
他们将问题隔离到以下场景:
MCU——>(UART)——>DA14580DEVKT-B——>(BLE)——>Murata modue using Dialog
Roi描述了上述沟通中的小故障。
几点考虑:
MCU - EFM32
使用内部MCU振荡器。
当测试超级终端到超级终端通过UART到BLE并返回到UART时没有发生故障。
如果您能想到解决方案,请建议。
谢谢提前
丹
Tritech
嗨roinovi,Bendaa,
我们正在解决你的问题,想办法解决。当你说从超级终端到超级终端的测试时,你的意思是从pc到pc的连接不会发生事故?对于BLE传输期间的数据更改,这是不可能的,除了UART或代码中的逻辑错误,我看不到任何其他可能。我们希望您能提供一个逻辑分析仪或一个示波器捕获的数据磁带580单片机和单片机580和0 xaa或0 x55为了检查UART在单片机的时钟也我们想提供一个获取与错误情况下为了弄明白。
谢谢mt_dialog.
是的,我是说从一个电脑到另一个电脑,这种情况不会发生。
此外,正如我之前说的,我想看看问题是uart则多所以我连接单片机的tx销4 evkit(也是uart rx)和我看到我的数据(单片机)转让完全通过uart evkit和终端。那么这仍然是uart的问题吗?
它可以是SPS代码吗?也许在缓冲区中管理数据?
当您尝试模拟这个问题时,请尝试每秒传输1536字节(这是我的系统)
嗨roinovi,
我们不认为这是一个代码问题或你在代码中所做的更改,我们也不认为更改的缓冲区与此有关。我们认为这是您正在使用的MCU和580之间的时钟问题。所以,我们希望在前一篇文章中提到的捕获来确保。翻转比特听起来更像是一个时间或电气问题,如果是在代码中,我认为它应该发生在pc到pc的连接。我已经尝试使用您上面提到的精确设置来模拟您的问题(更改了定义)RX_BUFFER_ITEM_COUNT, RX_BUFFER_ITEM_SIZE, RX_BUFFER_HWM, RX_BUFFER_LWM在设备端发送你粘贴的确切数据)我没有实现在两个pc连接上重现问题,我们没有你正在使用的外部MCU。
谢谢mt_dialog.
你好
我试图降低我的McU的uart率到38400和数据传输ok的所有方式(uart ble uart)
什么可以是115200翻转钻头的原因?
有什么可以做的吗?
嗨roinovi,
我虽然你试图降低波特率,但在这种情况下,事件仍然发生了原因,这就是为什么我想要检查MCU的数据率,是580 UART无法达到115200率,580的实际波特率约为111111.111,无法跟上您的外部MCU,因此每一次和一段时间延迟数据,您可以获得此翻转位事件。
谢谢mt_dialog.
是否有其他模块可以实现115k uart?
580的最高速率是多少?
嗨roinovi,
在所有58倍的家庭中,这是它可以实现115200标准的波特率。正如我之前提到的,在我之前的帖子中,580可以实现的数据速率约为111.111率。请检查UART_SPS.H,以便查看如何计算580上的精确波特率。
谢谢mt_dialog.
你好
如果我连接580模块外部晶体32kHz,我将能够得到一个更准确的波特率?
更接近115200标准?
嗨roinovi,
不,我恐怕这不会改变任何东西,XTAL32只用于低功率时钟,而不是用于在UART中生成时钟。
谢谢mt_dialog.