欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4595|回復: 5
收起左側

[已解決]51單片機串口發送字符串問題,顯示錯誤warning C214: 'Argument'

[復制鏈接]
ID:776619 發表于 2022-5-30 20:12 | 顯示全部樓層 |閱讀模式
MAIN.C(170): warning C214: 'Argument': conversion: pointer to non-pointer
程序部分如下:
{
........
.........
uart_send("hello world!",sizeof("hello world!"));
......;
......;
}
uart_send(unsigned char *string123,int num)
{
for (n=0;n<num;n++)
   {
    SBUF=*string123++;
    while (!TI);
    TI=0;
    }


請問為什么會出現這問題,如何解決???
回復

使用道具 舉報

ID:924942 發表于 2022-5-30 20:23 來自觸屏版 | 顯示全部樓層
string123形參是個指針,你應該傳遞字符串首地址,而不是自符串
回復

使用道具 舉報

ID:883242 發表于 2022-5-30 20:43 | 顯示全部樓層
uart_send(unsigned char *string123,int num)改成
uart_send(const char *string123,int num)

其實你的代碼沒必要加num
  1. uart_send(const char *string123)
  2. {
  3. for (;;)
  4.    {
  5.     if(*string123==0)break;
  6.     SBUF=*string123++;
  7.     while (!TI);
  8.     TI=0;
  9.     }
  10. }
復制代碼

回復

使用道具 舉報

ID:776619 發表于 2022-5-30 22:11 | 顯示全部樓層
Hephaestus 發表于 2022-5-30 20:43
uart_send(unsigned char *string123,int num)改成
uart_send(const char *string123,int num)

讓我試試看,如果不用NUM,那它括號里的東西也會節省ROM空間是不是?
回復

使用道具 舉報

ID:776619 發表于 2022-5-30 22:40 | 顯示全部樓層
Hephaestus 發表于 2022-5-30 20:43
uart_send(unsigned char *string123,int num)改成
uart_send(const char *string123,int num)

我錯了,你寫的也不能通過,同樣報警但能編譯過。后來看看原來是我在文件頭定義那里string前面指針那個星沒寫。補上后我寫的也可以通過了。程序別的問題還有,但這個問題是解決了。
回復

使用道具 舉報

ID:776619 發表于 2022-5-30 22:43 | 顯示全部樓層
sgql 發表于 2022-5-30 20:23
string123形參是個指針,你應該傳遞字符串首地址,而不是自符串

寫字符串獲得的也只是首地址。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表