接 https://bbs.elecfans.com/jishu_2207695_1_1.html#comment_top 文章
改main.c程序
- #include
- #include "wm_hal.h"
- void Error_Handler(void);
- static void GPIO_Init(void);
- static volatile uint8_t key_flag = 0;
- static volatile uint32_t key_time = 0;
- int main(void)
- {
- SystemClock_Config(CPU_CLK_160M);
- printf("enter mainrn");
- HAL_Init();
- GPIO_Init();
-
- while (1)
- {
- HAL_Delay(500);
- // key_flag++;
- if(key_flag%3==0)
- {
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,0);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
- key_time = HAL_GetTick();
- printf("uwTick=uint32_t HAL_GetTick(void);;%drn", HAL_GetTick());
- key_time = HAL_GetTick()-key_time;
- printf("uwTick=uint32_t HAL_GetTick(void);;%d total timern", key_time);
- }
- else if(key_flag%3==1)
- {
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,0);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
- }
- else
- {
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,0);
- }
-
- }
-
- return 0;
- }
- static void GPIO_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStruct = {0};
-
- __HAL_RCC_GPIO_CLK_ENABLE();
- GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2, GPIO_PIN_SET);
-
- GPIO_InitStruct.Pin = GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- HAL_NVIC_SetPriority(GPIOB_IRQn, 0);
- HAL_NVIC_EnableIRQ(GPIOB_IRQn);
- }
- void HAL_GPIO_EXTI_Callback(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
- {
- if ((GPIOx == GPIOB) && (GPIO_Pin == GPIO_PIN_5))
- {
- // key_flag = 1;
- key_flag++;
- printf("enter EXTI-GPIOB_PIN_5rn");
- }
- if ((GPIOx == GPIOA) && (GPIO_Pin == GPIO_PIN_0))
- {
- key_flag = 1;
- printf("enter EXTI-GPIOA_PIN_0rn");
- }
- }
- void Error_Handler(void)
- {
- while (1)
- {
- }
- }
- void assert_failed(uint8_t *file, uint32_t line)
- {
- printf("Wrong parameters value: file %s on line %drn", file, line);
- }
复制代码
写C:/W806-KIT/WM_SDK_W806/bin/W805/W805.fls文件
能正常工作
0
|
|
|
|