Zigbee以及NB-IOT比賽裝置記錄
阿新 • • 發佈:2022-05-25
Zigbee
Key低電平0觸發
Led高電平1觸發
led3 = P1_0, Led4 = P1_1, Led5 = P1_3, Led6 = P1_4
SW1(Key1) = P1_2, SW2 = P1_6, 擴充套件介面控制引腳 = P1_7(例如可以控制12/24v燈的開關,只需要在擴充套件介面上插上雙聯繼電器)
例如:
P1SEL &= ~0xFF; //P1設為通用IO引腳,預設復位後就是這個,可以不設 P1DIR &= ~0xFF; //P1的輸入輸出方向,這裡先將所有位設為0 P1DIR |= 0x1B; //將CC2530開發板上所有led燈點亮設為輸出模式(只有輸出模式二極體才能亮起) P1 &= ~0xFF; //輸入高低電平,這裡先將所有位強行設定為低電平 P1 |= 0x1B; //然後把所有led燈設為高電平才會讓所有led亮起
NB-IOT
Key低電平0觸發
Led低電平0觸發
Key2 = PC_13, Key3 = PB_1, Key4 = PB_5
Led1 = PA_3, Led2 = PB_8
示例程式碼:
GPIO_InitTypeDef gpio_init; //Led2 gpio_init.Pin = GPIO_PIN_8; gpio_init.Mode = GPIO_MODE_OUTPUT_PP; gpio_init.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOB, &gpio_init); __HAL_RCC_GPIOB_CLK_ENABLE(); //Led1 gpio_init.Pin = GPIO_PIN_3; HAL_GPIO_Init(GPIOA, &gpio_init); __HAL_RCC_GPIOA_CLK_ENABLE(); //Key2 gpio_init.Pin = GPIO_PIN_13; gpio_init.Mode = GPIO_MODE_INPUT; gpio_init.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOC, &gpio_init); __HAL_RCC_GPIOC_CLK_ENABLE(); //Key3 gpio_init.Pin = GPIO_PIN_1; HAL_GPIO_Init(GPIOB, &gpio_init); __HAL_RCC_GPIOB_CLK_ENABLE(); //Key4 gpio_init.Pin = GPIO_PIN_5; HAL_GPIO_Init(GPIOB, &gpio_init); __HAL_RCC_GPIOB_CLK_ENABLE();