久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2135|回復: 8
打印 上一主題 下一主題
收起左側

做回伸手黨 請教個單片機C語言發送數組的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:47286 發表于 2021-11-19 18:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void Send_String(uchar *p)                                        //發送字符串(字符串首地址)
{
        while(*p)                                                                        //等待 指針=0(指針=空)
        {
                U2S1B(*p);                                                                        //調用 串口2發送1Byte(數據)
                p++;                                                                                //累加 地址(地址往后移)
        }
}

這段是用指針發串數據 比如 Send_String("ABC");

現在想發個數組 咋用啊 哪位前輩給扔個現成的過來行么

別噴我啊 我知道每一點知識都是重要的 但我這水平就是個應用級 能用就行 我老覺得吧 好比 螺絲也是門挺深的學問 可設計汽車的人不會去專門研究怎么造螺絲吧 按規格拿來擰不得了

先謝過

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:624769 發表于 2021-11-19 19:15 | 只看該作者
假定數組  
u8 test[128];

那么:
用你這個這個函數發的時候, 先確保要發送的數組的末尾是0 比如:
       test[127] = 0x00;  //根據實際情況確定哪里是末尾
然后,
       Send_String(&test[0]);  //假定從0開始發
如果,數組內部會有別的地方有 0 那么……  就必須寫個新的子函數。

void burst_send(u8 len, u8 *p)
{
         while(--len)   U2S1B(*p++);
}

調用時:  burst_send(110, &test[2]);  //從第3個字節開始發,發送110個
回復

使用道具 舉報

板凳
ID:47286 發表于 2021-11-19 19:58 | 只看該作者
188610329 發表于 2021-11-19 19:15
假定數組  
u8 test[128];

感謝前輩回帖 第二個例子正合適
回復

使用道具 舉報

地板
ID:47286 發表于 2021-11-19 20:00 | 只看該作者
188610329 發表于 2021-11-19 19:15
假定數組  
u8 test[128];

另外 再請教一下 &test[2]里這個&是必須的么 啥意思 我是小白 方便的話就給講講
回復

使用道具 舉報

5#
ID:624769 發表于 2021-11-19 20:31 | 只看該作者
dzbj 發表于 2021-11-19 20:00
另外 再請教一下 &test[2]里這個&是必須的么 啥意思 我是小白 方便的話就給講講

從數組頭開始,即0開始的話,   可以光用  test      但是,如果帶上位置,比如: test[2] 就必須 &了。
回復

使用道具 舉報

6#
ID:47286 發表于 2021-11-19 21:06 | 只看該作者
188610329 發表于 2021-11-19 20:31
從數組頭開始,即0開始的話,   可以光用  test      但是,如果帶上位置,比如: test[2] 就必須 &了。

收到 感謝
回復

使用道具 舉報

7#
ID:624769 發表于 2021-11-20 13:04 | 只看該作者

昨天回帖子的時候,在給娃解釋方差公式,函數沒仔細看,你要是直接用了,到時候整體調試如果出了錯怕你沒想到是我的鍋,現在更正一下重新給你。
void burst_send(u8 len, u8 *p)
{
         while(len--)   U2S1B(*p++);
}
回復

使用道具 舉報

8#
ID:47286 發表于 2021-11-20 23:18 | 只看該作者
188610329 發表于 2021-11-20 13:04
昨天回帖子的時候,在給娃解釋方差公式,函數沒仔細看,你要是直接用了,到時候整體調試如果出了錯怕你沒 ...

感謝

我發現這兩個范例的不同一個是--len 一個是len-- 這個事昨天拿到你的范例測試的時候就注意到 并且分別比較了一下 貌似--len的效果比len--好 因為我把原來賦給len的值+1后取代原來用for的發送就完全正常 而用len--沒搞定 于是就沿用了--len 其實 是我沒仔細琢磨 因為要寫的代碼量比較多 還有好多模塊沒寫好 而這個函數相當于總成上的一個螺絲 最終是總成拼裝成成品 所以就沒深入了

我寫這么一大堆的意思是想說 非常非常感謝你的認真 并不是每個人都像我似的被很多雷砸過 走路有點小心翼翼 而你的更正可能是很有幫助的
回復

使用道具 舉報

9#
ID:624769 發表于 2021-11-20 23:57 | 只看該作者
恩,兩個的區別就是  --len  要比 len-- 大1,即如果你把 len 設置1, --len 就直接跳出循環了,len-- 會執行1次,再跳出循環。既然你這邊沒問題,我就放心了。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美极品少妇xxxxⅹ免费视频 | 伊人精品久久久久77777 | 暖暖成人免费视频 | 91精品国产777在线观看 | 国产午夜精品一区二区三区四区 | 日韩精品无码一区二区三区 | 久久成人精品视频 | 中文字幕av色 | 日本三级日产三级国产三级 | 日韩欧美在线一区 | 一区二区三区国产好 | 337p日本欧洲亚洲大胆 | 精品成人在线观看 | a级在线免费 | 久久亚洲国产精品日日av夜夜 | 玖玖久久 | 亚洲精品一区中文字幕乱码 | 精精国产xxxx视频在线 | 视频一区在线观看 | 国产精品99久久免费观看 | av影音 | 久久精品97| 亚洲福利在线观看 | 第一区在线观看免费国语入口 | 国产精品一区二区在线 | 日韩欧美黄色 | 欧美三区 | 久热电影 | av激情在线 | 欧美日韩亚洲视频 | 日韩成人在线观看 | 亚洲欧美自拍偷拍视频 | 91视频三区 | 免费国产精品久久久久久 | 伊人久久一区二区 | 日日摸日日碰夜夜爽2015电影 | 成人午夜在线观看 | 亚洲精品大片 | 国产区高清 | 亚洲精品在线免费观看视频 | 国产成人一区 |