1. 程式人生 > 其它 >Zigbee以及NB-IOT比賽裝置記錄

Zigbee以及NB-IOT比賽裝置記錄

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();