我用协调器的串口输出字符串,可是字符串太长,大于128了,芯片总是自动重启,请问有什么好办法么?我要发送的字符串是{"method": "response", "result": {"successful": true,"message": "xxxx","data":[{"id":"C1","value":"1"},{"id":"C2","value":"1"}]}}&^!
谢谢
Susan Yang:
可修改 OnBoard.h内 #define MT_UART_TX_BUFF_MAX 128 #define MT_UART_RX_BUFF_MAX 128 如果想要发送大于128字节的帧而不愿意修改上面的宏,可以在while里面用HalUARTWrite一个字节一个字节的发
as a:
回复 Susan Yang:
可是按照您的修改意见,同时修改 #define MT_UART_TX_BUFF_MAX 128 #define MT_UART_RX_BUFF_MAX 128改为 #define MT_UART_TX_BUFF_MAX 256 #define MT_UART_RX_BUFF_MAX 256会有如下报错,请问这是什么意思?谢谢
Error[e16]: Segment XDATA_I (size: 0x92 align: 0) is too long for segment definition. At least 0x58 more bytes needed. The problem occurred while processing the segment placement command "-Z(XDATA)XDATA_N,XDATA_Z,XDATA_I=_XDATA_START-_XDATA_END", where at the moment of placement the available memory ranges were "XDATA:1dc6-1dff" Reserved ranges relevant to this placement: XDATA:100-3ff XSTACK XDATA:400-1dff XDATA_Z BIT:0-7 BREG BIT:80-97 SFR_AN BIT:a0-af SFR_AN BIT:b8-c7 SFR_AN BIT:d8-df SFR_AN BIT:e8-ef SFR_AN Error while running Linker
as a:
回复 Susan Yang:
可是按照您的修改意见,同时修改 #define MT_UART_TX_BUFF_MAX 128 #define MT_UART_RX_BUFF_MAX 128改为 #define MT_UART_TX_BUFF_MAX 256 #define MT_UART_RX_BUFF_MAX 256会有如下报错,请问这是什么意思?谢谢
Error[e16]: Segment XDATA_I (size: 0x92 align: 0) is too long for segment definition. At least 0x58 more bytes needed. The problem occurred while processing the segment placement command "-Z(XDATA)XDATA_N,XDATA_Z,XDATA_I=_XDATA_START-_XDATA_END", where at the moment of placement the available memory ranges were "XDATA:1dc6-1dff" Reserved ranges relevant to this placement: XDATA:100-3ff XSTACK XDATA:400-1dff XDATA_Z BIT:0-7 BREG BIT:80-97 SFR_AN BIT:a0-af SFR_AN BIT:b8-c7 SFR_AN BIT:d8-df SFR_AN BIT:e8-ef SFR_AN Error while running Linker
user4707539:
回复 as a:
问题解决没有