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