话说,这个坑的韵达快递,从上周五发出,到这周周四才给我送到~今天周末,我赶紧来开箱看看~满足我这澎湃的激动的好奇心~
之前看官方W80X的数据手册,真是不错~阿里平头哥的内核,丰富的外设,与其他同资源相比简直良心到爆的价格,都深深的吸引了我~
我仿佛看到了国产芯片的辉煌,看到了不在被国外在芯片上卡脖子的,考到了我国芯片制造业的辉煌...对不起,我激动了~
开箱,打开一看,额~还真是简陋啊~~
赶紧焊了排针:
按照快速入门文档,安装好CDK,导入了工程,看了下代码风格,跟XX32的HAL很接近,很容易上手:
我们打开原理图,查看LED及按键,准备运行下点灯,我们让3个灯轮流亮,并PA0按键按下,printf信息:
添加底层初始化及按键中断代码:
- 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_0;
- GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- HAL_NVIC_SetPriority(GPIOA_IRQn, 0);
- HAL_NVIC_EnableIRQ(GPIOA_IRQn);
- }
- void HAL_GPIO_EXTI_Callback(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
- {
- if ((GPIOx == GPIOA) && (GPIO_Pin == GPIO_PIN_0))
- {
- key_flag = 1;
- }
- }
复制代码
在main函数while里面添加:
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,0);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
- HAL_Delay(500);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,0);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
- HAL_Delay(500);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,1);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,0);
- HAL_Delay(500);
-
- if(key_flag==1)
- {
- printf("Enter the key!");
- key_flag=0;
- }
复制代码
编译下载后,查看3灯轮流亮:
按下按键,看串口输出:
总之,本次体验非常好~如果稳定性可以,我会在后续的产品中使用它~替换掉XX32!
谢谢大家的观看~~
|