1.首先是字节格式,因为串口底层是一字节一字节的传输,所以每个要传输的字符与16进制数都要经过设计一定要保证是一字节一字节的发送
下面是把字符串拆分成字节一个一个发送示例
void Serial_SendString(char *String)
{
uint8_t i;
for (i = 0; String[i] != '\0'; i ++)//遍历字符数组(字符串),遇到字符串结束标志位后停止
{
Serial_SendByte(String[i]); //依次调用Serial_SendByte发送每个字节数据
}
}
2.再者你编译器的字符格式也有关系,gbk212是一个中文两字节,utf-8,unicode,ascall等他们字符的所占字节大小不同
3.利用地址传输遇到地址未规范定义数组而被占用的情况,这是我从来没见过的,这次项目的开发也给我提了个醒,确实需要注意这方面的问题
eg:你直接地址解引用赋值与写个数组再赋值,底层来讲芯片给该数组分配了空间,该空间不能被占领,而地址直接解引用赋值确是没注册的,有几率被修改霸占