C++ 结构体实战:从理论到游戏与业务场景

核心内容摘要

教育科技新方向:Emotion2Vec+ Large学生专注度分析指南
RMBG-2.0与Three.js结合:Web端3D产品展示系统

网易云音乐自动化打卡解决方案:从手动到智能的听歌升级全指南

这两天尝试了一下直接对寄存器操作控制单片机在感觉对他的底层工作又有了更深的了解下面是一些代码对比#include BUZZ.h //void BEEP_ON(void) //{ // GPIOG-ODR | GPIO_ODR_ODR12; //} // //void BEEP_OFF(void ) //{ // GPIOG-ODR ~GPIO_ODR_ODR12; //} //void BEEP_tog(void) //{ // // if((GPIOG-IDRGPIO_IDR_IDR

!

// { // GPIOG-ODR ~GPIO_ODR_ODR12; // // } // else // { // // GPIOG-ODR | GPIO_ODR_ODR12; // } // //} void BEEP_ON(void) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_12,GPIO_PIN_SET); } void BEEP_OFF(void ) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_12,GPIO_PIN_RESET); } void BEEP_tog(void) { HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_

; }#include led.h //void led_init(void) //{ // // //配置RCC // RCC-APB2ENR | RCC_APB2ENR_IOPGEN; // //配置GPIO // GPIOG-CRH | GPIO_CRH_MODE14; // GPIOG-CRH ~(GPIO_CRH_CNF

; // GPIOG-CRH | GPIO_CRH_MODE15; // GPIOG-CRH ~(GPIO_CRH_CNF

; // // //} //void led_on(int led_num) //{ // if(14 led_num) // { // GPIOG-ODR | GPIO_ODR_ODR14; // } // // else if(15 led_num) // { // GPIOG-ODR | GPIO_ODR_ODR15; // } //} //void led_off(int led_num) //{ // if(14 led_num) // { // GPIOG-ODR ~GPIO_ODR_ODR14; // } // // else if(15 led_num) // { // GPIOG-ODR ~GPIO_ODR_ODR15; // } //} //void led_togle(int num) //{ // if(14 num) // { // if((GPIOG-IDRGPIO_IDR_IDR

!

// { // //GPIOG-ODR ~GPIO_ODR_ODR14; // led_off(

; // } // else // { // led_on(

; // //GPIOG-ODR | GPIO_ODR_ODR14; // } // } // // if(15 num) // { // if((GPIOG-IDRGPIO_IDR_IDR

!

// { // led_off(

; // //GPIOG-ODR ~GPIO_ODR_ODR15; // } // else // { // led_on(

; // //GPIOG-ODR | GPIO_ODR_ODR15; // } // } //} void led_on(int led_num) { if(14 led_num) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_14,GPIO_PIN_SET); } else if(15 led_num) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_15,GPIO_PIN_SET); } } void led_off(int led_num) { if(14 led_num) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_14,GPIO_PIN_RESET); } else if(15 led_num) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_15,GPIO_PIN_RESET); } } void led_togle(int num) { if(14 num) { HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_

; } if(15 num) { HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_

; } }#include key.h //void key_int(void) //{ // //打开时钟 // RCC-APB2ENR | RCC_APB2ENR_IOPGEN; // // //配置工作模式 mode : 00 cnf: 01 // // GPIOG-CRL ~GPIO_CRL_MODE3; // GPIOG-CRL ~GPIO_CRL_CNF3_1; // GPIOG-CRL | GPIO_CRL_CNF3_0; // // GPIOG-CRL ~GPIO_CRL_MODE4; // GPIOG-CRL ~GPIO_CRL_CNF4_1; // GPIOG-CRL | GPIO_CRL_CNF4_0; // // GPIOG-CRL ~GPIO_CRL_MODE5; // GPIOG-CRL ~GPIO_CRL_CNF5_1; // GPIOG-CRL | GPIO_CRL_CNF5_0; // // // //全部改为上拉输入 // // GPIOG-ODR | GPIO_ODR_ODR3; // GPIOG-ODR | GPIO_ODR_ODR4; // GPIOG-ODR | GPIO_ODR_ODR5; // //} //unsigned int key_scan(void) //{ // unsigned int num 0; // // if((GPIOG-IDRGPIO_IDR_IDR

3)

// { // Delay_ms(

; // if((GPIOG-IDRGPIO_IDR_IDR

3)

// { // while((GPIOG-IDRGPIO_IDR_IDR

3)

; // num 1; // } // } // // else if((GPIOG-IDRGPIO_IDR_IDR

4)

// { // Delay_ms(

; // if((GPIOG-IDRGPIO_IDR_IDR

4)

// { // while((GPIOG-IDRGPIO_IDR_IDR

4)

; // num 2; // } // } // // if((GPIOG-IDRGPIO_IDR_IDR

5)

// { // Delay_ms(

; // if((GPIOG-IDRGPIO_IDR_IDR

5)

// { // while((GPIOG-IDRGPIO_IDR_IDR

5)

; // num 3; // } // } // // return num; //} unsigned int key_scan(void) { unsigned int num 0; if(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET) { HAL_Delay(

; if(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET) { while(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET); num 1; } } else if(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET) { HAL_Delay(

; if(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET) { while(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET); num 2; } } if(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET) { HAL_Delay(

; if(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET) { while(HAL_GPIO_ReadPin(GPIOG,GPIO_PIN_

GPIO_PIN_RESET); num 3; } } return num; }

娇小6一10ⅹⅹⅹⅹⅹ小泬官方最新版-娇小6一10ⅹⅹⅹⅹⅹ小泬官方最新版应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123