平头哥CDK W806-KIT单片机技术交流组
直播中

qjp1988113

12年用户 343经验值
擅长:测量仪表 嵌入式技术 处理器/DSP 控制/MCU EDA/IC设计
私信 关注
[经验]

【联盛德W806-KIT开发板试用体验】+开箱及CDK及官方SDK编程体验

话说,这个坑的韵达快递,从上周五发出,到这周周四才给我送到~今天周末,我赶紧来开箱看看~满足我这澎湃的激动的好奇心~
之前看官方W80X的数据手册,真是不错~阿里平头哥的内核,丰富的外设,与其他同资源相比简直良心到爆的价格,都深深的吸引了我~
Z1.png
我仿佛看到了国产芯片的辉煌,看到了不在被国外在芯片上卡脖子的,考到了我国芯片制造业的辉煌...对不起,我激动了~
开箱,打开一看,额~还真是简陋啊~~
MM1.jpg
MM2.jpg
MM3.jpg
赶紧焊了排针:
X6.jpg
X7.jpg
按照快速入门文档,安装好CDK,导入了工程,看了下代码风格,跟XX32的HAL很接近,很容易上手:
Z2.png
我们打开原理图,查看LED及按键,准备运行下点灯,我们让3个灯轮流亮,并PA0按键按下,printf信息:

K1.png
K2.png
添加底层初始化及按键中断代码:
  1. static void GPIO_Init(void)
  2. {
  3.         GPIO_InitTypeDef GPIO_InitStruct = {0};
  4.        
  5.         __HAL_RCC_GPIO_CLK_ENABLE();

  6.         GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
  7.         GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
  8.         GPIO_InitStruct.Pull = GPIO_NOPULL;
  9.         HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  10.         HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2, GPIO_PIN_SET);
  11.        
  12.         GPIO_InitStruct.Pin = GPIO_PIN_0;
  13.         GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
  14.         GPIO_InitStruct.Pull = GPIO_PULLUP;
  15.         HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  16.        
  17.         HAL_NVIC_SetPriority(GPIOA_IRQn, 0);
  18.         HAL_NVIC_EnableIRQ(GPIOA_IRQn);

  19. }

  20. void HAL_GPIO_EXTI_Callback(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
  21. {
  22.         if ((GPIOx == GPIOA) && (GPIO_Pin == GPIO_PIN_0))
  23.         {
  24.                 key_flag = 1;
  25.         }
  26. }


在main函数while里面添加:
  1. HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,0);
  2.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,1);
  3.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
  4.                 HAL_Delay(500);
  5.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,1);
  6.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,0);
  7.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
  8.                 HAL_Delay(500);

  9.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,1);
  10.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1,1);
  11.                 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,0);
  12.                 HAL_Delay(500);
  13.                
  14.                 if(key_flag==1)
  15.                 {
  16.                         printf("Enter the key!");
  17.                         key_flag=0;
  18.                 }

编译下载后,查看3灯轮流亮:
X1.gif
按下按键,看串口输出:
F1.png

总之,本次体验非常好~如果稳定性可以,我会在后续的产品中使用它~替换掉XX32!
谢谢大家的观看~~

更多回帖

发帖
×
20
完善资料,
赚取积分