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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1602|回復(fù): 2
收起左側(cè)

拋磚引玉:如何根據(jù)變量對不同單片機IO口操作

[復(fù)制鏈接]
ID:282850 發(fā)表于 2019-12-18 10:24 | 顯示全部樓層 |閱讀模式
需要根據(jù)不同的變量值對不同的IO口大量操作,如果當(dāng)變量為1、3、6值時,分針對P1、P3、P6操作。
define是不能使用變量為參數(shù)的。
寫了一段程序,基本可以實現(xiàn),但過于機械龐大,運行中廢時間。能不能簡化代碼,用一、兩條語句代替。一個IO的不同位可以用變量實現(xiàn),但=號前的P1、P3、P6如何按Port_X值為1、3、6來選擇是個麻煩。
能不能用IO地址指針操作,直接定位到需操作的IO地址,后期的操作就是對此IO?或者建立一個IO地址的數(shù)組,根據(jù)不同"變量"直接定位到相應(yīng)的IO口?
程序見下,我認為需要優(yōu)化程序:
#include "io430.h"
unsigned char Port_x=6,Bit_n=BIT5;
void DQ_out()
{
      switch (Port_x)
      {
        case 1:
            P1DIR|=Bit_n;  break;               
        case 2:
            P2DIR|=Bit_n;  break;               
        case 3:
            P3DIR|=Bit_n;  break;               
        case 4:
            P4DIR|=Bit_n;  break;               
        case 5:
            P5DIR|=Bit_n;  break;               
        case 6:
            P6DIR|=Bit_n;  break;               
        case 7:
            P7DIR|=Bit_n;  break;               
      }   
}
void DQ_in()
{
      switch (Port_x)
      {
.........
下述還有多個switch選擇模塊,很是不爽。
回復(fù)

使用道具 舉報

ID:282850 發(fā)表于 2019-12-19 21:00 | 顯示全部樓層
樓上回復(fù)是我已經(jīng)做了的,現(xiàn)在是不想這樣?

想這樣:

void PXoption(x)
{
     P(x)DIR=0xfe;
}
不要Switch,但不行的。
回復(fù)

使用道具 舉報

ID:584814 發(fā)表于 2019-12-19 16:05 | 顯示全部樓層
自定義一個函數(shù),然后對這個函數(shù)的內(nèi)容假裝看不見,程序就可以少到一條指令
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美在线一二三 | 亚洲成人三级 | 欧洲精品在线观看 | 超黄毛片 | 久久久久99 | 欧美综合久久 | 亚洲成人免费电影 | 精品国产乱码久久久久久久久 | 亚洲aⅴ一区二区 | 日韩在线观看中文字幕 | 精品av | 中文字幕一区二区视频 | 欧美在线视频网站 | 欧美在线一区二区三区 | 国产一区二区三区在线 | 欧美一区二区成人 | 一区二区三区不卡视频 | 欧美综合在线视频 | 日韩精品一区二区三区中文在线 | 亚洲欧美日韩精品久久亚洲区 | 91久久精品国产91久久性色tv | 欧美一区2区三区4区公司 | 亚洲一区日韩 | 国产精品高潮呻吟久久av黑人 | 久久99久久 | 欧美日韩国产中文 | 欧美日韩一区二区三区四区 | 超碰国产在线 | 国产在线精品一区二区 | 亚洲欧美在线一区 | 久久精品久久久久久 | 免费观看黄 | 黄色在线网站 | 日韩在线 | 在线免费观看欧美 | 久久一区二区av | 在线视频一区二区三区 | 欧美天堂 | 中文字幕一区二区三区四区五区 | 91久久久久 | 国产伦一区二区三区视频 |