[活动专区] 【AC7811开发板试用活动】点LED灯及库的研究

[复制链接]
597|0
 楼主| ddllxxrr 发表于 2019-10-26 21:02 | 显示全部楼层 |阅读模式
今天,有点时间研究了下库,AC7811的库是在安装PACK时装进MDK的。且比较特别同STM32不一样。

比如说这个库函数:

  1. int32_t GPIO_SetDir(uint32_t gpioNum, uint32_t pinMode)
  2. {
  3.     uint32_t tmpGPIOx = 0, tmpGPIOxPinNum = 0;

  4.     tmpGPIOx = gpioNum / GPIO_ONE_GROUP_NUM;                  // Calculate GPIO Group(A~E)
  5.     tmpGPIOxPinNum = gpioNum % GPIO_ONE_GROUP_NUM;            // Calculate GPIO Group's Internal Pin Number(0~15)

  6.     switch (tmpGPIOx)
  7.     {
  8.     case 0:
  9.         GPIO_SetGPIOxMODE(GPIOA, tmpGPIOxPinNum, pinMode);
  10.         break;
  11.     case 1:
  12.         GPIO_SetGPIOxMODE(GPIOB, tmpGPIOxPinNum, pinMode);
  13.         break;
  14.     case 2:
  15.         GPIO_SetGPIOxMODE(GPIOC, tmpGPIOxPinNum, pinMode);
  16.         break;
  17.     case 3:
  18.         GPIO_SetGPIOxMODE(GPIOD, tmpGPIOxPinNum, pinMode);
  19.         break;
  20.     case 4:
  21.         GPIO_SetGPIOxMODE(GPIOE, tmpGPIOxPinNum, pinMode);
  22.         break;

  23.     default:
  24.         return -1;
  25.     }

  26.     return 0;
  27. }
它是把所有的管脚都罗列在一起然后再分。我认为这是比ST的库要进步。
还有一点是,不用给管脚外设特意加时钟。比如我的点灯程序如下:

  1. int main(void)
  2. {
  3.         InitDelay();
  4.         InitDebug();
  5.         GPIO_SetDir(MY_LED_PIN, GPIO_OUTPUT);//设置LED引脚为输出
  6.         do
  7.         {
  8.                 MY_LED = 0;
  9.                  mdelay(1000);
  10.                 MY_LED = 1;
  11.                   mdelay(1000);
  12.                  
  13.         }while(1);
  14.        
而管脚定义是在GPIO.h中
  1. #define MY_LED          (GPIOC_OUT(5))//定义MY_LED引脚别名
  2.                        
  3. #define MY_LED_ON       MY_LED =1
  4. #define MY_LED_OFF      MY_LED =0
  5. #define MY_LED_TOGGLE   MY_LED = !MY_LED       
我只是定义了管脚是输出并没有给时钟使能,但好用:
GPIO_SetDir(MY_LED_PIN, GPIO_OUTPUT);//设置LED引脚为输出


以下是截图:
IMG_20191026_204448.jpg IMG_20191026_205311.jpg

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7001

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部