如下,有两个这样的串口发送函数
//向串口发送一个字符
void send_char_com( uint8 ch)
{
TXREG = ch;
while (!TRMT);
TRMT = 0 ; //必须写,不然有可能产生错误数据发送
}
//向串口发送一个字符串,strlen为该字符串长度
void send_string_com(uchar *str)
{
uint16 k= 0 ;
do
{
send_char_com(*(str + k));
k++;
}
while (*(str + k)!='\0');
}
我在使用51的时候,可以这样使用这个函数send_string_com=(“Welcome,the MCU is turn on!”);但是现在在PIC16F877A中就不可以这样用了,为什么这样写不可以?有什么办法可以这样用?
后来我还发现,这样定义一下这个这个字符串数组就可以用uchar Welcome[]="Welcome,the MCU is turn on!";
send_string_com=("Welcome");
但是我有很多这样的语句需要发送出去,单片机不可以保存这么多字符串数组在里面,所以有没有方法能够让我像原来那样直接像这种方式使用send_string_com=(“Welcome,the MCU is turn on!”);
如能回答,非常感谢!谢谢关注 |