# STM32F429 Discovery kit ## 2. CAN (Controller Area Netwok) & <br> UART (Universal Asynchronous Receiver/Transmitter) [TOC] ### (1) Recap上週 * 完成使用HAL Library控制**LED3**,**LED4** ``` C= #include <stm32f4xx.h> #include <stm32f4xx_hal_gpio.h> #include <stm32f4xx_hal_rcc.h> #include "Timer.h" void init_GPIO() { GPIO_InitTypeDef GPIO_InitStruct = { .Pin = GPIO_PIN_13| GPIO_PIN_14, .Mode = GPIO_MODE_OUTPUT_PP, .Speed = GPIO_SPEED_FREQ_VERY_HIGH, .Pull =GPIO_PULLDOWN }; __HAL_RCC_GPIOG_CLK_ENABLE(); // RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); } int main() { init_GPIO(); timer_start(); int digitStatus = 1; while(1) { HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, digitStatus); HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, digitStatus); timer_sleep(500); digitStatus = (digitStatus + 1) % 2; } return 0; } ``` ### (2) 參考 [成大資工wiki-CAN介紹](http://wiki.csie.ncku.edu.tw/embedded/CAN#introduction) 1. CAN :一種網路,允許網路上的多個**微控制器**或設備直接互相**通訊**,網路上不需要主機(Host)控制通訊,並且提供高安全等級及有效率的即時控制。 2. 具備**偵錯**和**優先權判別**的機制 <!-- 放截圖 --> ![](https://i.imgur.com/rUsh3X4.png) :::success 1. loop_back_mode(silent) 2. IRQ那邊改(toggle LED) 3. main function送data ::: ###### tags: `STM32f429 Discovery kit`