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

標題: 做回伸手黨 請教個單片機C語言發送數組的問題 [打印本頁]

作者: dzbj    時間: 2021-11-19 18:54
標題: 做回伸手黨 請教個單片機C語言發送數組的問題
void Send_String(uchar *p)                                        //發送字符串(字符串首地址)
{
        while(*p)                                                                        //等待 指針=0(指針=空)
        {
                U2S1B(*p);                                                                        //調用 串口2發送1Byte(數據)
                p++;                                                                                //累加 地址(地址往后移)
        }
}

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

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

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

先謝過


作者: 188610329    時間: 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個
作者: dzbj    時間: 2021-11-19 19:58
188610329 發表于 2021-11-19 19:15
假定數組  
u8 test[128];

感謝前輩回帖 第二個例子正合適
作者: dzbj    時間: 2021-11-19 20:00
188610329 發表于 2021-11-19 19:15
假定數組  
u8 test[128];

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

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

收到 感謝
作者: 188610329    時間: 2021-11-20 13:04
dzbj 發表于 2021-11-19 21:06
收到 感謝

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

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

感謝

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

我寫這么一大堆的意思是想說 非常非常感謝你的認真 并不是每個人都像我似的被很多雷砸過 走路有點小心翼翼 而你的更正可能是很有幫助的
作者: 188610329    時間: 2021-11-20 23:57
恩,兩個的區別就是  --len  要比 len-- 大1,即如果你把 len 設置1, --len 就直接跳出循環了,len-- 會執行1次,再跳出循環。既然你這邊沒問題,我就放心了。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1