|
|
(9 intermediate revisions by 2 users not shown) |
Line 2: |
Line 2: |
| ===== Opis ===== | | ===== Opis ===== |
| <b>Płytka ewaluacyjna z mikrokontrolerem STM32F401CCU, kompatybilna z BlackPill</b><br><br> | | <b>Płytka ewaluacyjna z mikrokontrolerem STM32F401CCU, kompatybilna z BlackPill</b><br><br> |
| Płytka ewaluacyjna <b>KAmod BlackPill 401</b> zawiera mikrokontroler STM32F401CCU oraz elementy niezbędne do jego uruchomienia i programowania. Płytka jest kompatybilna pod względem wyprowadzeń z projektem BlackPill, jednak jest to zupełnie nowa konstrukcja, wyposażona w złącze USB-C z zabezpieczeniem ESD i zmodyfikowany obwód zasilania. Może być programowana z Arduino IDE, ponieważ w pamięci układu znajduje się odpowiedni bootloader. | | Płytka ewaluacyjna <b>[https://kamami.pl/zestawy-uruchomieniowe-stm32/1193741-kamod-blackpill-401-plytka-ewaluacyjna-5906623490486.html KAmod BlackPill 401]</b> zawiera mikrokontroler STM32F401CCU oraz elementy niezbędne do jego uruchomienia i programowania. Płytka jest kompatybilna pod względem wyprowadzeń z projektem BlackPill, jednak jest to zupełnie nowa konstrukcja, wyposażona w złącze USB-C z zabezpieczeniem ESD i zmodyfikowany obwód zasilania. Może być programowana z Arduino IDE, ponieważ w pamięci układu znajduje się odpowiedni bootloader. |
| <center> | | <center> |
| [[File:KAmod_BlackPill_3D.png|none|700px|thumb|center]] | | [[File:KAmod_BlackPill_401_1.jpg|none|1000px|thumb|center]] |
| </center> | | </center> |
|
| |
|
| ===== Podstawowe cechy i parametry ===== | | ===== Podstawowe cechy i parametry ===== |
| * mikrokontroler STM32F401CCU6: Cortex-M4, 256 kB Flash, 64 kB RAM, 84 MHz, 1 x ADC 12-bitowy, 7 timerów, 3 x I2C, 2 x SPI, 3 x UART, USB OTG FS, RTC | | * mikrokontroler STM32F401CCU6: Cortex-M4, 256 kB Flash, 64 kB RAM, 84 MHz, 1 x ADC 12-bitowy, 7 timerów, 3 x I2C, 2 x SPI, 3 x UART, USB OTG FS, RTC |
| * złącze USB-C służy jako złącze zasilające, interfejs komunikacyjny USB oraz pozwala na programowanie mikrokontrolera | | * złącze USB-C służy jako złącze zasilające, interfejs komunikacyjny USB oraz pozwala na programowanie mikrokontrolera |
| * zawiera elementy filtrujące zakłócenia i przepięcia na liniach interfejsu USB | | * zawiera elementy filtrujące zakłócenia i przepięcia na liniach interfejsu USB |
Line 38: |
Line 38: |
|
| |
|
| <center> | | <center> |
| [[File:foto.jpg|none|400px|thumb|center]] | | [[File:KAmod_BlackPill_401_2.jpg|none|1000px|thumb|center]] |
| </center> | | </center> |
|
| |
|
Line 84: |
Line 84: |
| |} | | |} |
| </center> | | </center> |
| Płytka ewaluacyjna <b>KAmod BlackPill 401</b> może być zasilana na dwa sposoby:: | | Płytka ewaluacyjna <b>KAmod BlackPill 401</b> może być zasilana na dwa sposoby: |
| *poprzez odpowiednie styki złączy J1 i J2, | | *poprzez odpowiednie styki złączy J1 i J2, |
| *poprzez złącze USB-C. | | *poprzez złącze USB-C. |
| <br> | | <br> |
| Źródło zasilania o napięciu z zakresu 4,5...5,5 V i wydajności min. 100 mA należy dołączyć do styków oznaczonych''''' 5V''''' (plus) oraz '''''GND''''' (minus) na złączach J1 i/lub J2. Wtedy na styku oznaczonym '''''3,3V''''' dostępne jest stabilizowane napięcie o wartości 3,3 V, które również zasila mikrokontroler. Obecność napięcia 3,3 V sygnalizuje świecenie diody LED oznaczonej '''''PWR'''''. | | Źródło zasilania o napięciu z zakresu 4,5...5,5 V i wydajności min. 100 mA należy dołączyć do styków oznaczonych''''' 5V''''' (plus) oraz '''''GND''''' (minus) na złączach J1 i/lub J2. Wtedy na styku oznaczonym '''''3,3V''''' dostępne jest stabilizowane napięcie o wartości 3,3 V, które również zasila mikrokontroler. Obecność napięcia 3,3 V jest sygnalizowana świeceniem diody LED oznaczonej '''''PWR'''''. |
| <br><br> | | <br><br> |
| Do złącza USB-C należy dołączyć standardowe źródło zasilania USB o wydajności min. 100 mA. Wtedy na styku 5V złącza J1 dostępne jest napięcie o wartości bliskiej 5 V (względem masy oznaczonej '''''GND'''''). Niewielki spadek napięcia (ok 0,5 V) występuje na diodzie Schottky’ego, która umożliwia przepływ prądu w kierunku ze złącza USB-C do płytki, ale blokuje przepływ prądu w kierunku przeciwnym - do złącza USB-C. Dzięki temu można bezpiecznie dołączać zasilanie w różnych konfiguracjach - USB i/lub styki J1, J2. | | Do złącza USB-C należy dołączyć standardowe źródło zasilania USB o wydajności min. 100 mA. Wtedy na styku 5V złącza J1 dostępne jest napięcie o wartości bliskiej 5 V (względem masy oznaczonej '''''GND'''''). Niewielki spadek napięcia (ok 0,5 V) występuje na diodzie Schottky’ego, która umożliwia przepływ prądu w kierunku ze złącza USB-C do płytki, ale blokuje przepływ prądu w kierunku przeciwnym - do złącza USB-C. Dzięki temu można bezpiecznie dołączać zasilanie w różnych konfiguracjach - USB i/lub styki J1, J2. |
Line 114: |
Line 114: |
| <br><br> | | <br><br> |
| Płytka została skonfigurowana w taki sposób, że umożliwia działanie interfejsu w trybie Peripheral, nie jest przygotowana do pracy w trybie Host (OTG). Na płytce znajdują się również elementy filtrujące ewentualne zakłócenia i przepięcia na liniach interfejsu USB, które zapewniają jego stabilne działanie. | | Płytka została skonfigurowana w taki sposób, że umożliwia działanie interfejsu w trybie Peripheral, nie jest przygotowana do pracy w trybie Host (OTG). Na płytce znajdują się również elementy filtrujące ewentualne zakłócenia i przepięcia na liniach interfejsu USB, które zapewniają jego stabilne działanie. |
| <br><br>
| |
| Dodatkową funkcjonalnością złącza USB-C jest możliwość programowania pamięci Flash mikrokontrolera. Wymagany jest do tego odpowiedni bootloader, który zostaje załadowany do mikrokontrolera modułu Kamod BluePill+ wraz z programem testowym.
| |
| <br><br> | | <br><br> |
| Dodatkową funkcjonalnością złącza USB-C jest możliwość programowania pamięci Flash mikrokontrolera. Odpowiedni bootloader jest ładowany do pamięci nieulotnej (ROM) mikrokontrolera na etapie produkcji.<br><br> | | Dodatkową funkcjonalnością złącza USB-C jest możliwość programowania pamięci Flash mikrokontrolera. Odpowiedni bootloader jest ładowany do pamięci nieulotnej (ROM) mikrokontrolera na etapie produkcji.<br><br> |
Line 145: |
Line 143: |
| :*C – sygnał taktujący SWCLK, | | :*C – sygnał taktujący SWCLK, |
| :*D – sygnał danych SWDIO, | | :*D – sygnał danych SWDIO, |
| :*V – linia zasiulania 3,3 V. | | :*V – linia zasilania 3,3 V. |
| Sygnały należy połączyć z takimi samymi sygnałami na złączu programatora/debuggera. Czasami SWCLK jest oznaczony również jako TCK, natomiast SWDIO jest jednocześnie oznaczony jako TMS. Programator nie dostarcza zasilania do płytki <b>KAmod BlackPill 401</b>, zasilanie należy dołączyć do złącza USB-C lub styków J1/J2. <br><br> | | Sygnały należy połączyć z takimi samymi sygnałami na złączu programatora/debuggera. Czasami SWCLK jest oznaczony również jako TCK, natomiast SWDIO jest jednocześnie oznaczony jako TMS. Programator nie dostarcza zasilania do płytki <b>KAmod BlackPill 401</b>, zasilanie należy dołączyć do złącza USB-C lub styków J1/J2. <br><br> |
| <center> | | <center> |
Line 271: |
Line 269: |
| ===== Program testowy ===== | | ===== Program testowy ===== |
| Uproszczony kod programu testowego znajduje się poniżej, można go skompilować w środowisku Arduino. | | Uproszczony kod programu testowego znajduje się poniżej, można go skompilować w środowisku Arduino. |
| | <br><br> |
| | <syntaxhighlight lang="arduino"> |
|
| |
|
| | #include <STM32RTC.h> |
|
| |
|
| <code>
| | #define LED_PIN PC13 |
| | #define SW_PIN PA0 |
|
| |
|
| <font color="#5e6d03">#include</font> <font color="#434f54"><</font><b><font color="#d35400">STM32RTC</font></b><font color="#434f54">.</font><font color="#000000">h</font><font color="#434f54">></font>
| | int message_period = 0; |
| | int config_state = 0; |
| | int ports_state = 0; |
| | int pindex = 0; |
|
| |
|
| | STM32RTC& rtc = STM32RTC::getInstance(); |
|
| |
|
| <font color="#5e6d03">#define</font> <font color="#000000">LED_PIN</font> <font color="#00979c">PC13</font>
| | void setup() { |
| | Serial.begin(115200); |
| | pinMode(LED_PIN, OUTPUT); |
| | pinMode(SW_PIN, INPUT_PULLUP); |
| | rtc.begin(); // initialize RTC 24H format |
| | } |
|
| |
|
| <font color="#5e6d03">#define</font> <font color="#000000">SW_PIN</font> <font color="#00979c">PA0</font>
| | // the loop function runs over and over again forever |
| | void loop() { |
| | //digitalWrite(LED_PIN, HIGH); |
| | if (digitalRead(SW_PIN) == HIGH){ |
| | if ((ports_state&4) > 0){ |
| | digitalWrite(LED_PIN, HIGH); |
| | } else { |
| | digitalWrite(LED_PIN, LOW); |
| | } |
|
| |
|
| | if (config_state > 0){ |
| | IO2input(); |
| | config_state = 0; |
| | } |
|
| |
|
| <font color="#00979c">int</font> <font color="#000000">message_period</font> <font color="#434f54">=</font> <font color="#000000">0</font><font color="#000000">;</font>
| | } else { |
| | if ((ports_state&1) > 0){ |
| | digitalWrite(LED_PIN, HIGH); |
| | } else { |
| | digitalWrite(LED_PIN, LOW); |
| | } |
| | |
| | if (config_state == 0){ |
| | IO2output(); |
| | config_state = 1; |
| | } |
|
| |
|
| <font color="#00979c">int</font> <font color="#000000">config_state</font> <font color="#434f54">=</font> <font color="#000000">0</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#00979c">int</font> <font color="#000000">ports_state</font> <font color="#434f54">=</font> <font color="#000000">0</font><font color="#000000">;</font>
| | if (config_state == 1){ |
| | IO2low(); |
| | IOwriteIndexed(pindex, 1); |
| | pindex++; |
| | if (pindex > 26) pindex = 1; |
| | } |
| | } |
|
| |
|
| <font color="#00979c">int</font> <font color="#000000">pindex</font> <font color="#434f54">=</font> <font color="#000000">0</font><font color="#000000">;</font>
| | // check if plugged into a host |
| | if (message_period >= 11){ |
| | message_period = 0; |
| | |
| | int tmt = rtc.getMinutes(); |
| | Serial.print("KAmod BlackPill401 RTC="); |
| | if (tmt < 10) Serial.print("0"); |
| | Serial.print(tmt); |
| | |
| | tmt = rtc.getSeconds(); |
| | Serial.print(":"); |
| | if (tmt < 10) Serial.print("0"); |
| | Serial.println(tmt); |
| | } |
| | |
| | delay(200); |
| | message_period++; |
| | ports_state++; |
| | } |
|
| |
|
| | void IO2output(){ |
| | //pinMode(PA0, OUTPUT); //switch |
| | pinMode(PA1, OUTPUT); |
| | pinMode(PA2, OUTPUT); |
| | pinMode(PA3, OUTPUT); |
| | pinMode(PA4, OUTPUT); |
| | pinMode(PA5, OUTPUT); |
| | pinMode(PA6, OUTPUT); |
| | pinMode(PA7, OUTPUT); |
|
| |
|
| <b><font color="#d35400">STM32RTC</font></b><font color="#434f54">&</font> <font color="#000000">rtc</font> <font color="#434f54">=</font> <b><font color="#d35400">STM32RTC</font></b><font color="#434f54">:</font><font color="#434f54">:</font><font color="#d35400">getInstance</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PA8, OUTPUT); |
| | pinMode(PA9, OUTPUT); |
| | pinMode(PA10, OUTPUT); |
| | pinMode(PA15, OUTPUT); |
|
| |
|
| <font color="#00979c">void</font> <font color="#5e6d03">setup</font><font color="#000000">(</font><font color="#000000">)</font> <font color="#000000">{</font>
| | pinMode(PB0, OUTPUT); |
| <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">begin</font><font color="#000000">(</font><font color="#000000">115200</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB1, OUTPUT); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#000000">LED_PIN</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB2, OUTPUT); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#000000">SW_PIN</font><font color="#434f54">,</font> <font color="#00979c">INPUT_PULLUP</font><font color="#000000">)</font><font color="#000000">;</font>
| | |
| <font color="#000000">rtc</font><font color="#434f54">.</font><font color="#d35400">begin</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font> <font color="#434f54">// initialize RTC 24H format</font>
| | pinMode(PB3, OUTPUT); |
| <font color="#000000">}</font>
| | pinMode(PB4, OUTPUT); |
| | pinMode(PB5, OUTPUT); |
| | pinMode(PB6, OUTPUT); |
| | pinMode(PB7, OUTPUT); |
| | pinMode(PB8, OUTPUT); |
| | pinMode(PB9, OUTPUT); |
|
| |
|
| <font color="#434f54">// the loop function runs over and over again forever</font>
| | pinMode(PB10, OUTPUT); |
| <font color="#00979c">void</font> <font color="#5e6d03">loop</font><font color="#000000">(</font><font color="#000000">)</font> <font color="#000000">{</font>
| |
| <font color="#434f54">//digitalWrite(LED_PIN, HIGH);</font>
| |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#d35400">digitalRead</font><font color="#000000">(</font><font color="#000000">SW_PIN</font><font color="#000000">)</font> <font color="#434f54">==</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">{</font>
| |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">(</font><font color="#000000">ports_state</font><font color="#434f54">&</font><font color="#000000">4</font><font color="#000000">)</font> <font color="#434f54">></font> <font color="#000000">0</font><font color="#000000">)</font><font color="#000000">{</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">LED_PIN</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font> <font color="#5e6d03">else</font> <font color="#000000">{</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">LED_PIN</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
|
| |
|
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">config_state</font> <font color="#434f54">></font> <font color="#000000">0</font><font color="#000000">)</font><font color="#000000">{</font>
| | pinMode(PB12, OUTPUT); |
| <font color="#000000">IO2input</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB13, OUTPUT); |
| <font color="#000000">config_state</font> <font color="#434f54">=</font> <font color="#000000">0</font><font color="#000000">;</font> | | pinMode(PB14, OUTPUT); |
| <font color="#000000">}</font>
| | pinMode(PB15, OUTPUT); |
| | //pinMode(PC13, OUTPUT); //led |
| | } |
|
| |
|
| <font color="#000000">}</font> <font color="#5e6d03">else</font> <font color="#000000">{</font>
| | void IO2input(){ |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">(</font><font color="#000000">ports_state</font><font color="#434f54">&</font><font color="#000000">1</font><font color="#000000">)</font> <font color="#434f54">></font> <font color="#000000">0</font><font color="#000000">)</font><font color="#000000">{</font>
| | //pinMode(PA0, INPUT); //switch |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">LED_PIN</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PA1, INPUT); |
| <font color="#000000">}</font> <font color="#5e6d03">else</font> <font color="#000000">{</font>
| | pinMode(PA2, INPUT); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">LED_PIN</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PA3, INPUT); |
| <font color="#000000">}</font>
| | pinMode(PA4, INPUT); |
|
| | pinMode(PA5, INPUT); |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">config_state</font> <font color="#434f54">==</font> <font color="#000000">0</font><font color="#000000">)</font><font color="#000000">{</font>
| | pinMode(PA6, INPUT); |
| <font color="#000000">IO2output</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PA7, INPUT); |
| <font color="#000000">config_state</font> <font color="#434f54">=</font> <font color="#000000">1</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
|
| |
|
| | pinMode(PA8, INPUT); |
| | pinMode(PA9, INPUT); |
| | pinMode(PA10, INPUT); |
| | pinMode(PA15, INPUT); |
|
| |
|
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">config_state</font> <font color="#434f54">==</font> <font color="#000000">1</font><font color="#000000">)</font><font color="#000000">{</font>
| | pinMode(PB0, INPUT); |
| <font color="#000000">IO2low</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB1, INPUT); |
| <font color="#000000">IOwriteIndexed</font><font color="#000000">(</font><font color="#000000">pindex</font><font color="#434f54">,</font> <font color="#000000">1</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB2, INPUT); |
| <font color="#000000">pindex</font><font color="#434f54">++</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">pindex</font> <font color="#434f54">></font> <font color="#000000">26</font><font color="#000000">)</font> <font color="#000000">pindex</font> <font color="#434f54">=</font> <font color="#000000">1</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
| <font color="#000000">}</font>
| |
|
| |
|
| <font color="#434f54">// check if plugged into a host</font>
| | pinMode(PB3, INPUT); |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">message_period</font> <font color="#434f54">>=</font> <font color="#000000">11</font><font color="#000000">)</font><font color="#000000">{</font>
| | pinMode(PB4, INPUT); |
| <font color="#000000">message_period</font> <font color="#434f54">=</font> <font color="#000000">0</font><font color="#000000">;</font>
| | pinMode(PB5, INPUT); |
|
| | pinMode(PB6, INPUT); |
| <font color="#00979c">int</font> <font color="#000000">tmt</font> <font color="#434f54">=</font> <font color="#000000">rtc</font><font color="#434f54">.</font><font color="#d35400">getMinutes</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB7, INPUT); |
| <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#005c5f">"KAmod BlackPill401 RTC="</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB8, INPUT); |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">tmt</font> <font color="#434f54"><</font> <font color="#000000">10</font><font color="#000000">)</font> <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#005c5f">"0"</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB9, INPUT); |
| <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#000000">tmt</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
| <font color="#000000">tmt</font> <font color="#434f54">=</font> <font color="#000000">rtc</font><font color="#434f54">.</font><font color="#d35400">getSeconds</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#005c5f">":"</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">tmt</font> <font color="#434f54"><</font> <font color="#000000">10</font><font color="#000000">)</font> <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">print</font><font color="#000000">(</font><font color="#005c5f">"0"</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <b><font color="#d35400">Serial</font></b><font color="#434f54">.</font><font color="#d35400">println</font><font color="#000000">(</font><font color="#000000">tmt</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
|
| |
| <font color="#d35400">delay</font><font color="#000000">(</font><font color="#000000">200</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#000000">message_period</font><font color="#434f54">++</font><font color="#000000">;</font>
| |
| <font color="#000000">ports_state</font><font color="#434f54">++</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
|
| |
|
| <font color="#00979c">void</font> <font color="#000000">IO2output</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">{</font>
| | pinMode(PB10, INPUT); |
| <font color="#434f54">//pinMode(PA0, OUTPUT); //switch</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA1</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA2</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA3</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA4</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA5</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA6</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA7</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA8</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB12, INPUT); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA9</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB13, INPUT); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA10</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB14, INPUT); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA15</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(PB15, INPUT); |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB0</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | //pinMode(PC13, INPUT); //led |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB1</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | } |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB2</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font> | |
|
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB3</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB4</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB5</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB6</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB7</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB8</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB9</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB10</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | void IO2low(){ |
| | //digitalWrite(PA0, LOW); //switch |
| | digitalWrite(PA1, LOW); |
| | digitalWrite(PA2, LOW); |
| | digitalWrite(PA3, LOW); |
| | digitalWrite(PA4, LOW); |
| | digitalWrite(PA5, LOW); |
| | digitalWrite(PA6, LOW); |
| | digitalWrite(PA7, LOW); |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB12</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA8, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB13</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA9, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB14</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA10, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB15</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA15, LOW); |
| <font color="#434f54">//pinMode(PC13, OUTPUT); //led</font>
| |
| <font color="#000000">}</font>
| |
|
| |
|
| <font color="#00979c">void</font> <font color="#000000">IO2input</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">{</font>
| | digitalWrite(PB0, LOW); |
| <font color="#434f54">//pinMode(PA0, INPUT); //switch</font>
| | digitalWrite(PB1, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA1</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB2, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA2</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA3</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB3, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA4</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB4, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA5</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB5, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA6</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB6, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA7</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB7, LOW); |
| | digitalWrite(PB8, LOW); |
| | digitalWrite(PB9, LOW); |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA8</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB10, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA9</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA10</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PA15</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB0</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB12, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB1</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB13, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB2</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB14, LOW); |
| | digitalWrite(PB15, LOW); |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB3</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | //digitalWrite(PC13, LOW); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB4</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | } |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB5</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB6</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB7</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB8</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB9</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB10</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | void IO2high(){ |
| | //digitalWrite(PA0, HIGH); //switch |
| | digitalWrite(PA1, HIGH); |
| | digitalWrite(PA2, HIGH); |
| | digitalWrite(PA3, HIGH); |
| | digitalWrite(PA4, HIGH); |
| | digitalWrite(PA5, HIGH); |
| | digitalWrite(PA6, HIGH); |
| | digitalWrite(PA7, HIGH); |
|
| |
|
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB12</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA8, HIGH); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB13</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA9, HIGH); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB14</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA10, HIGH); |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#00979c">PB15</font><font color="#434f54">,</font> <font color="#00979c">INPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PA15, HIGH); |
|
| |
|
| <font color="#434f54">//pinMode(PC13, INPUT); //led</font>
| | digitalWrite(PB0, HIGH); |
| <font color="#000000">}</font>
| | digitalWrite(PB1, HIGH); |
| | digitalWrite(PB2, HIGH); |
| | |
| | digitalWrite(PB3, HIGH); |
| | digitalWrite(PB4, HIGH); |
| | digitalWrite(PB5, HIGH); |
| | digitalWrite(PB6, HIGH); |
| | digitalWrite(PB7, HIGH); |
| | digitalWrite(PB8, HIGH); |
| | digitalWrite(PB9, HIGH); |
|
| |
|
| <font color="#00979c">void</font> <font color="#000000">IO2low</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">{</font>
| | digitalWrite(PB10, HIGH); |
| <font color="#434f54">//digitalWrite(PA0, LOW); //switch</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA1</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA2</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA3</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA4</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA5</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA6</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA7</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA8</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB12, HIGH); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA9</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB13, HIGH); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA10</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB14, HIGH); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA15</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(PB15, HIGH); |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB0</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | //digitalWrite(PC13, HIGH); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB1</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | } |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB2</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB3</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB4</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB5</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB6</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB7</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB8</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB9</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB10</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | void IOwriteIndexed(int index, int state){ |
| | int pp = 1; |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB12</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | switch (index){ |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB13</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | //case 0: pp = PA0; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB14</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 1: pp = PA1; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB15</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 2: pp = PA2; break; |
| | case 3: pp = PA3; break; |
| | case 4: pp = PA4; break; |
| | case 5: pp = PA5; break; |
| | case 6: pp = PA6; break; |
| | case 7: pp = PA7; break; |
|
| |
|
| <font color="#434f54">//digitalWrite(PC13, LOW); </font>
| | case 8: pp = PB0; break; |
| <font color="#000000">}</font>
| | case 9: pp = PB1; break; |
| | case 10: pp = PB2; break; |
| | case 11: pp = PB10; break; |
|
| |
|
| <font color="#00979c">void</font> <font color="#000000">IO2high</font><font color="#000000">(</font><font color="#000000">)</font><font color="#000000">{</font>
| | case 12: pp = PB12; break; |
| <font color="#434f54">//digitalWrite(PA0, HIGH); //switch</font>
| | case 13: pp = PB13; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA1</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 14: pp = PB14; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA2</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 15: pp = PB15; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA3</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA4</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA5</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA6</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA7</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA8</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 16: pp = PA8; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA9</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 17: pp = PA9; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA10</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 18: pp = PA10; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PA15</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | |
| | //case 19: pp = PA11; break |
| | //case 20: pp = PA12; break |
| | |
| | case 19: pp = PA15; break; |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB0</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 20: pp = PB3; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB1</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 21: pp = PB4; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB2</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 22: pp = PB5; break; |
|
| | case 23: pp = PB6; break; |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB3</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB4</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB5</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB6</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB7</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB8</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB9</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB10</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | case 24: pp = PB7; break; |
| | case 25: pp = PB8; break; |
| | case 26: pp = PB9; break; |
| | } |
|
| |
|
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB12</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | pinMode(pp, OUTPUT); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB13</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | if (state > 0){ |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB14</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | digitalWrite(pp, HIGH); |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#00979c">PB15</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| | } else { |
| | digitalWrite(pp, LOW); |
| | } |
| | } |
|
| |
|
| <font color="#434f54">//digitalWrite(PC13, HIGH); </font>
| | </syntaxhighlight> |
| <font color="#000000">}</font>
| |
|
| |
|
| <font color="#00979c">void</font> <font color="#000000">IOwriteIndexed</font><font color="#000000">(</font><font color="#00979c">int</font> <font color="#000000">index</font><font color="#434f54">,</font> <font color="#00979c">int</font> <font color="#000000">state</font><font color="#000000">)</font><font color="#000000">{</font>
| |
| <font color="#00979c">int</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#000000">1</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#5e6d03">switch</font> <font color="#000000">(</font><font color="#000000">index</font><font color="#000000">)</font><font color="#000000">{</font>
| |
| <font color="#434f54">//case 0: pp = PA0; break;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">1</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA1</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">2</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA2</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">3</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA3</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">4</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA4</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">5</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA5</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">6</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA6</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">7</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA7</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
|
| |
|
| <font color="#5e6d03">case</font> <font color="#000000">8</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB0</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| | <br><br> |
| <font color="#5e6d03">case</font> <font color="#000000">9</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB1</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">10</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB2</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">11</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB10</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| | |
| <font color="#5e6d03">case</font> <font color="#000000">12</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB12</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">13</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB13</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">14</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB14</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">15</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB15</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| | |
| <font color="#5e6d03">case</font> <font color="#000000">16</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA8</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">17</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA9</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">18</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA10</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
|
| |
| <font color="#434f54">//case 19: pp = PA11; break</font>
| |
| <font color="#434f54">//case 20: pp = PA12; break</font>
| |
|
| |
| <font color="#5e6d03">case</font> <font color="#000000">19</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PA15</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| | |
| <font color="#5e6d03">case</font> <font color="#000000">20</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB3</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">21</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB4</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">22</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB5</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">23</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB6</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| | |
| <font color="#5e6d03">case</font> <font color="#000000">24</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB7</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">25</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB8</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">case</font> <font color="#000000">26</font><font color="#434f54">:</font> <font color="#000000">pp</font> <font color="#434f54">=</font> <font color="#00979c">PB9</font><font color="#000000">;</font> <font color="#5e6d03">break</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
| | |
| <font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#000000">pp</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#5e6d03">if</font> <font color="#000000">(</font><font color="#000000">state</font> <font color="#434f54">></font> <font color="#000000">0</font><font color="#000000">)</font><font color="#000000">{</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">pp</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font> <font color="#5e6d03">else</font> <font color="#000000">{</font>
| |
| <font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">pp</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">)</font><font color="#000000">;</font>
| |
| <font color="#000000">}</font>
| |
| <font color="#000000">}</font>
| |
| </code>
| |
| <br><br><br>
| |
| Działanie programu polega na uruchomieniu portu szeregowego na bazie interfejsu USB oraz modułu zegara RTC i cyklicznym wysyłaniu informacji o czasie poprzez ten port szeregowy.<br><br> | | Działanie programu polega na uruchomieniu portu szeregowego na bazie interfejsu USB oraz modułu zegara RTC i cyklicznym wysyłaniu informacji o czasie poprzez ten port szeregowy.<br><br> |
| Działaniu programu towarzyszy powolne miganie diody LED D3. Gdy zostanie naciśnięty przycisk KEY (SW3) to na wszystkich portach kolejno będzie ustawiany stan wysoki oraz dioda LED zacznie pulsować szybko. | | Działaniu programu towarzyszy powolne miganie diody LED D3. Gdy zostanie naciśnięty przycisk KEY (SW3) to na wszystkich portach kolejno będzie ustawiany stan wysoki oraz dioda LED zacznie pulsować szybko. |
|
| |
|
| ===== Linki ===== | | ===== Linki ===== |
| | *[https://wiki.kamamilabs.com/images/3/35/KAmod_BlackPill_3D.zip Model CAD (STEP)] |
| *[https://wiki.kamamilabs.com/images/d/d2/Stm322f401cb.zip Karta katalogowa układu STM32F401CCU] | | *[https://wiki.kamamilabs.com/images/d/d2/Stm322f401cb.zip Karta katalogowa układu STM32F401CCU] |
| *[https://wiki.kamamilabs.com/images/f/f1/Arduino_black_pill_401.zip Program testowy Arduino] | | *[https://wiki.kamamilabs.com/images/f/f1/Arduino_black_pill_401.zip Program testowy Arduino] |