snv读写问题。
时间:10-02
整理:3721RD
点击:
TI的工程师,
你们好
最近遇到一个很不理解的问题。
我用 osal_snv_write(BLE_NVID_BPS_PARA,osal_strlen((char*)newbps),newbps);写进去波特率是9600
调试查看里面波特率是9600,长度为4,也就是这个osal_strlen((char*)newbps)函数计算出的长度为4
newbps为一个数组最后面有9600
但是当即读出来之后是这样的
这要怎样解决?
谢谢大神们指点
你的newbps是什么类型的?newbps的值具体是多少?
使用osal_snv_write写入的数据必须是4字节对齐的。
另一个建议,你就写入1,2,3,4就好,读出来的时候再判断,比如1就表示9600,2就表示115200等。 估计你是用字符串在表示这个波特率吧
你好
TY
这个要这样解释,我这里有一个接收的缓冲区定义为SerialRxBuff大小为200个字节
我想里面写入AT+BPS=9600
其中newbps为一个指针指向9的位置
但是19200 38400 57600 115200 都是好的
唯独9600读出来,多了一个问号。
谢谢您的建议。
你那个变量是6个字节的吗?
你好TY
uint8 SC_BR[6]={0};
这个变量是这样定义的
那你只有4个字节的“9600”,你读了6个字节,自然有问号啦。
哦,这样,是不是只要多读了都会出现?
谢谢TY指教
显然。。。。这个应该好理解的。