資料介紹
描述
將您的 Arduino 板變成 16 位 IO 端口
標題聽起來很有趣?或者沒有?
你們都會想知道,Arduino UNO 或 NANO(或其他類似的 arduino 板)有 ATMega328 板載微控制器,這是一個 8 位設備。那么它如何產生16位輸出或接受16位輸入呢?
我們也都知道,arduino使用“digitalWrite()”函數給出數字輸出,通過“ digitalRead () ”函數獲取數字輸入。但是使用這兩個功能,它可以從任何一個引腳提供輸出或獲取輸入——意味著一次它只能向單個引腳提供輸出或從單個引腳獲取輸入。那么它如何同時從16個管腳輸出或接受輸入呢?
如果我們可以將 16 個 Arduino 板引腳組合(組合)在一起會怎么樣?意味著,通過板載 8 位微控制器,arduino 可以提供 16 位輸出和/或可以獲得 16 位輸入。
現在我覺得這聽起來很有趣?
因此,在這里我介紹了 arduino 的 16 位 IO 端口(輸入輸出端口)庫。使用這個庫,可以將 16 位數據直接發送到配置為組合 16 位端口的任何 arduino 板引腳,或者可以從這些配置的引腳獲得 16 位輸入。該庫將 arduino 的任意 16 個引腳組合在一起,作為 16 位 IO 端口。只需選擇任意 16 個 arduino 引腳組合為 16 位端口,并將其數據方向配置為輸入或輸出。數據方向由輸出字符“O”或輸入字符“I”設置。
該庫只有 5 個功能。有兩個將創建端口對象的構造函數,一個將 16 位數字輸出發送到端口引腳的函數,一個從端口引腳獲取 16 位數字輸入的函數和一個更改/設置端口 IO 方向的附加函數. 這里簡要解釋了所有 5 個函數,然后給出了一些示例和解釋。
所以只需使用這個庫來連接任何 16 位設備,如 ADC、DAC、MUX,或任何數字設備獲得 16 位輸入或提供 16 位輸出
1. IO_Port_16bit(int pin1, intpin2, int pin3, int pin4, int pin5, int pin6, int pin7, int pin8, int pin9, intpin10, int pin11, int pin12, int pin13, int pin14, int pin15, int pin16,字符目錄)
這是構造函數。它將創建此類的對象,因此它將通過組合不同的 arduino 引腳來創建一個或多個 16 位端口。必須指定 16 個不同的 arduino 引腳組合為端口以及數據方向作為輸入或輸出 - 意味著端口既可以作為輸入也可以作為輸出。此構造函數中的最后一個參數 dir 將端口定義為輸入或輸出。如果 dir='O' 表示端口作為輸出,如果 dir='I',端口作為輸入。同一個端口不能同時或交替作為輸入和輸出。如果未選擇數據方向,它也會指示錯誤
2. IO_Port_16bit(int pin1, intpin2, int pin3, int pin4, int pin5, int pin6, int pin7, int pin8, int pin9, intpin10, int pin11, int pin12, int pin13, int pin14, int pin15, int pin16)
這是另一個構造函數。它還將創建此類的對象,因此它將通過組合不同的 arduino 引腳來創建一個或多個 16 位端口。必須指定 16 個不同的 arduino 引腳組合為端口。但它沒有指定數據方向是輸入還是輸出。使用此構造函數創建端口對象后,必須使用set_IO_direction函數設置端口方向。所以這個構造函數允許程序員使用這個構造函數在運行時改變端口數據方向,同一個端口可以作為輸入或輸出交替工作(但不是同時)
3. set_IO_direction(字符目錄)
該函數指定端口的輸入/輸出方向。它有一個字符參數,可以是“I”表示端口作為輸入或“O”表示端口作為輸出。如果未選擇數據方向,則在arduino的串口監視器上顯示錯誤
4. send_16bit_data(unsigned int byt)
此函數將 16 位數據發送到指定的引腳。只需將 int 數據(必須 < 65535)作為直接提供給 16 個不同引腳的參數。如果數據 >65535,它會在 arduino 的串口監視器上顯示錯誤。
5. get_16bit_data(無效)
該函數從指定的引腳獲取 16 位數據。它通過讀取16個不同引腳的狀態返回16位unsigned int數據
例1:取16位輸入并顯示在串口監視器上
#include
IO_Port_16bit my16bitport(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
詮釋我;
長輸入雙字節;
無效設置()
{
// 將你的設置代碼放在這里,運行一次:
my16bitport.set_IO_direction('I');
序列號.begin(9600);
}
無效循環()
{
input_double_byte =my16bitport.get_16bit_data();
Serial.print("輸入數據:");
Serial.println(input_double_byte);
延遲(1000);
}
范例二:16個LED追光程序
#include
IO_Port_16bitmy16bitport(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
無效設置()
{
// 將端口方向聲明為指定“O”的輸出
my16bitport.set_IO_direction('O');
}
無效循環()
{
無符號整數我;
對于(i=1;i<65535;i*=2)
{
my16bitport.send_16bit_data(i); //發送數據為 2, 4, 8, 16
延遲(200);// 32,..,..,...65534
}
}
- 將Arduino變成一個7鍵鍵盤
- 用于Arduino的8位IO端口庫
- 將您的中央供暖連接到Arduino
- Arduino Uno Rev.3開發板意大利原版電路圖 0次下載
- STM32端口IO方向設置問題
- IAR-C中實現IO端口直接位定義操作的一個示例資料下載
- 16位CRC驗證碼生成VI工具下載 55次下載
- Arduino板是什么如何使用IDE軟件創建和上傳Arduino程序到Arduino板
- Arduino進行端口通信的實例程序免費下載
- 用于16位MCU的MCP3901 ADC評估板的詳細中文資料概述
- 用于16位MCU的MCP3914 ADC評估板的詳細中文資料概述
- 用于16位MCU的MCP3913 ADC評估板詳細中文資料概述
- 用于16位MCU的MCP3912 ADC評估板的詳細中文資料概述
- 用于16位MCU的MCP3919 ADC評估板的詳細中文資料概述
- 用于16位MCU的MCP3910 ADC評估板的使用中文資料概述
- 內部端口和外部端口怎么填 934次閱讀
- 5分鐘內將Raspberry Pi Pico變成簡單的示波器+波形發生器 2317次閱讀
- 安信可BW16模組如何搭建Arduino開發環境? 718次閱讀
- 如何使用Python和PinPong庫控制Arduino 1033次閱讀
- 如何利用粒子光子把你的雨傘變成氣象站 1532次閱讀
- 如何設置Arduino IoT將消息發送到云板顯示器 2303次閱讀
- 微雪電子MCP23017 IO擴展模塊16IO口 I2C接口簡介 1.4w次閱讀
- dfrobotIIC轉GPIO 數字端口擴展板簡介 1054次閱讀
- 微雪電子Arduino IO擴展板簡介 3673次閱讀
- dfrobotMEGA傳感器擴展板簡介 1571次閱讀
- ATMage16的16位定時器的PWM應用 3007次閱讀
- Curiosity PIC32MZEF學習教程:最簡單的IO端口測試 1699次閱讀
- STM32單片機GPIO口的學習 3966次閱讀
- arduino開發板有什么用 2.1w次閱讀
- MAXQ614 16位微控制器芯片詳解 1937次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論