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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

MCU IO怎么樣運用C語言結構體?

查看數: 5106 | 評論數: 17 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-7-23 14:37

正文摘要:

    很多MCU單片機IO口都需調用一個類似的子函數,但是如果都用不同的子函數代碼又太長了,有什么好的方法解決這個問題,隱約記得可以用結構體或者宏參數,但是沒有用過,不知道怎么用,有沒有大佬指點一 ...

回復

ID:934353 發表于 2021-7-28 17:24
munuc_w 發表于 2021-7-28 15:00
很簡單的函數,在原函數里只是增加一個決定片選的形參,由這個參數決定片選信號即可,如:

xxx(xxx, ...

好的,好的,有思路了,非常感謝
ID:752974 發表于 2021-7-28 15:00
開心就好hhhh 發表于 2021-7-28 13:06
是的是的,我就是想寫一個這樣的,但是沒有寫過,就不知道該怎么寫,我想參照32的庫函數來著,但是感覺又 ...

很簡單的函數,在原函數里只是增加一個決定片選的形參,由這個參數決定片選信號即可,如:

xxx(xxx,xxx,xCS)
{
  if(xCS==1)
     cs1=0;
else if(xCS==2)
     cs2=0;
else if(xCS==3)
      cs3=0;
//下面就是原來的函數,寫入地址,寫入數據
  。。。。

}
注意退出函數前各個使用的CS信號要拉高。
ID:934353 發表于 2021-7-28 13:06
munuc_w 發表于 2021-7-28 12:43
我以前也遇到過你的情況,要寫好多函數,內容一樣,就是IO分配不同。后來整合到一個函數里,函數增加一個 ...

是的是的,我就是想寫一個這樣的,但是沒有寫過,就不知道該怎么寫,我想參照32的庫函數來著,但是感覺又不一樣,大佬能不能提點一下?謝謝
ID:752974 發表于 2021-7-28 12:43
開心就好hhhh 發表于 2021-7-28 11:01
我就是用了三個數碼管驅動芯片,所以才希望將代碼寫的更簡潔一點

我以前也遇到過你的情況,要寫好多函數,內容一樣,就是IO分配不同。后來整合到一個函數里,函數增加一個形參,由形參決定片選,用于區別不同的驅動芯片。
ID:934353 發表于 2021-7-28 11:01
munuc_w 發表于 2021-7-28 08:50
選用具有片選信號的數碼管驅動器,如TA6932,DIO和CLK共用,數據流向由片選信號控制。

我就是用了三個數碼管驅動芯片,所以才希望將代碼寫的更簡潔一點
ID:752974 發表于 2021-7-28 08:50
開心就好hhhh 發表于 2021-7-27 15:52
比如說把這三個整合到一起,因為數碼管的一些函數是一樣的,只是不一樣的io口驅動不一樣的數碼管而已

選用具有片選信號的數碼管驅動器,如TA6932,DIO和CLK共用,數據流向由片選信號控制。
ID:190577 發表于 2021-7-28 07:23
typedef struct
{
  uint16_t GPIO_Pin;             /*!< Specifies the GPIO pins to be configured.
                                      This parameter can be any value of @ref GPIO_pins_define */

  GPIOSpeed_TypeDef GPIO_Speed;  /*!< Specifies the speed for the selected pins.
                                      This parameter can be a value of @ref GPIOSpeed_TypeDef */

  GPIOMode_TypeDef GPIO_Mode;    /*!< Specifies the operating mode for the selected pins.
                                      This parameter can be a value of @ref GPIOMode_TypeDef */
}GPIO_InitTypeDef;
ID:956553 發表于 2021-7-27 17:09
看st的庫函數封裝API或者NXP的封裝
ID:752974 發表于 2021-7-27 15:33
51中的位操作已經做不能再簡單了,不知樓主想如何操作。
ID:451718 發表于 2021-7-27 10:18
看一下STM32的庫函數例程就清楚了。
ID:934353 發表于 2021-7-27 10:13
gain 發表于 2021-7-23 18:33
地址都在reg51.h這個文件里有聲明

這個頭文件里有P1,P2等的地址,但是沒有看到P1^1之類的具體地址,感謝回答
ID:950257 發表于 2021-7-23 18:33
開心就好hhhh 發表于 2021-7-23 15:41
可是io口的地址不知道呢怎么辦,比如說P1^1這樣子,我該怎么用呢

地址都在reg51.h這個文件里有聲明
ID:934353 發表于 2021-7-23 17:21
yzwzfyz 發表于 2021-7-23 17:19
就象做乘法一樣,提取公因式。
將公共部門做成子程序,不同部分做成參數變量。

我知道大概意思,但是不知如何操作,感謝回答
ID:123289 發表于 2021-7-23 17:19
就象做乘法一樣,提取公因式。
將公共部門做成子程序,不同部分做成參數變量。
ID:934353 發表于 2021-7-23 15:41
黃youhui 發表于 2021-7-23 15:24
有啊,結構體內成員可以是函數,就是指針。

可是io口的地址不知道呢怎么辦,比如說P1^1這樣子,我該怎么用呢
ID:592807 發表于 2021-7-23 15:24
有啊,結構體內成員可以是函數,就是指針。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线一区二区三区 | 久久久久国产成人精品亚洲午夜 | 亚洲人成人一区二区在线观看 | 日韩欧美成人精品 | 成人网在线看 | 亚洲电影第1页 | 久久久一二三区 | 中文字幕一区二区三区四区五区 | 国产一区二区三区在线 | 天堂在线中文字幕 | 亚洲一级av毛片 | 国产精品国产三级国产aⅴ原创 | jav成人av免费播放 | 911网站大全在线观看 | 三级在线免费观看 | 日韩一区在线播放 | 日韩视频一区二区在线 | 成人精品鲁一区一区二区 | 青青久久| 91偷拍精品一区二区三区 | 精品国产乱码久久久久久1区2区 | 成人精品国产免费网站 | 日本一区视频在线观看 | 免费黄色录像视频 | 色小姐综合网 | 日韩精品一区二区三区中文在线 | 日韩色图视频 | 亚洲国产一区二区三区四区 | 精品91久久| 国产日韩精品在线 | 激情一区 | 国产精品一区久久久 | 久久精品亚洲精品国产欧美 | 国产成人午夜精品影院游乐网 | aaaaa毛片 | 色999日韩 | 午夜视频在线免费观看 | 91国内精品| 久久久久国产一区二区三区四区 | 免费在线性爱视频 | 一区二区久久 |