只要上位机能发过来保存于数组中
以下是我从STM32教程中摘抄的子程序:
const uint8_t pstr 是指针,指向存储字符串的数组
如果读入的第一个数据小于=126,则为英文字符
如果读入的第一个数据大于126,则为汉字,汉字是两个字符
/
中英文混合显示,不能显示中文标点符号
中文大小:1616
英文大小:126
/
void LCD_DispEnCh(uint16_t x, uint16_t y, const uint8_t pstr, uint16_t color)
{
while(pstr != '\0')
{
if(pstr <= 126) / 字符串 /
{
if( x > (COLUMN-STR_WIDTH) )//COLUMN是宽度方向相素数
{
x = 0;
y += STR_HEIGHT;
}
if( y > (PAGE-STR_HEIGHT) )
{
x = 0;
y = 0;
}
LCD_DispChar(x, y, pstr, color);
x += STR_WIDTH;
pstr++;
}
else / 汉字 /
{
if( x > (COLUMN-CH_WIDTH) )
{
x = 0;
y += CH_HEIGHT;
}
if( y > (PAGE-CH_HEIGHT) )
{
x = 0;
y = 0;
}
LCD_DispCH(x, y, pstr, color);
pstr +=2;
x += CH_WIDTH;
}
}
}
这个不难。
1)你需要下载与你LabVIEW对应的VISA工具包,直接去ni官网搜索就可以,这里给你提供一个网址,下载完成后安装,就可以在LabVIEW中找到你电脑上有的串口;
VISA驱动网址:
>
2)如果你电脑上没有串口,可以下载一个 虚拟串口 软件,这个软件可以在电脑上虚拟一对串口,这两个串口是相通的,相当于在你电脑上有两个硬件相连接的串口,只不过是虚拟的,不是真实的。
虚拟串口软件下载地址:>
3)下面是简单的串口发送和接收vi,86版本的,程序如下:
任何终端经串口发送中文字符,必须符合字节流发送的原则。按ANSI编码规则是用两个字节(8位2进制)表示一个汉字的,那么汉字必须解读为两个字节,按高低字节顺序,逐字节逐位发送。
1接收的终端设备同样按此原则予以还原。
2串口传送中有单双字节混合发送是按ANSI编码规则发送和接收的。
以上就是关于上位机通过串口发汉字和数字混合排列的数据到单片机全部的内容,包括:上位机通过串口发汉字和数字混合排列的数据到单片机、求labview编程例子,串口发送和接收通信程序,要求可以发送汉字哦!高分求解啊、arduino怎样向串口发送中文字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)