[学习笔记] autogen配置AC7811 CAN模块

[复制链接]
 楼主| JasonLee27 发表于 2021-2-5 09:58 | 显示全部楼层 |阅读模式
本帖最后由 JasonLee27 于 2021-2-5 09:58 编辑

#技术资源# 硬件环境:AC781x通用开发板
软件环境:keil5.23 AutoGen studio 2.23

一,环境准备
AC781x通用开发板和keil都已经有了,从官网下载最新的autoGen studio,目前autogen支持在线更新,再更新的最新版本。当前我使用的是2.2.3版本

二,工程配置
打开autogen,新建一个AC7811QBGE工程。整个配置过程分三个步骤:
1,配置时钟
    这里我们使用外部晶振,经PLL倍频到96M。有个坑要注意,一定要在CKGEN下面 HSE选择 XOSC,否则时钟配置界面你无法选择时钟源为外部时钟。
    WeChat Screenshot_20210205091801.png

    选好后就配置时钟了,这里很贴心的给出了计算公式,默认配置就是产生96M,所以基本也没什么修改的了
    WeChat Screenshot_20210205092428.png
2,配置CAN模块
    这里我不打算用GPIO去控制standby,直接硬件控制,故配置CAN模块StandbyEnable
WeChat Screenshot_20210205092614.png

模块配置每个参数和调用驱动的结构体形参一一对应。这里我们不启用过滤器
WeChat Screenshot_20210205092744.png

3,最后检查GPIO
吐槽一下,这张图虽然做的很大了,但还是看不太清,感觉不如像NXP 的DS32,做成一个表格来的好。
WeChat Screenshot_20210205092940.png

完成后,进行工程设定,因为autogen本身不带编译环境,所以最终会生成keil或IAR下工程,我们这里选择keil环境:
WeChat Screenshot_20210205095241.png
一切完成,点击生成代码,然后打开生成的工程,简单的添加一段定期发送报文的代码:
  1.     /* USER CODE BEGIN 2 */
  2.     CAN_Standby(CAN1, 0);
  3.     mdelay(1);
  4.     msg.ID = 0x100;
  5.     msg.DLC = 8;  
  6.     msg.IDE = 0;
  7.     msg.RTR = 0;
  8.     msg.Data[0] = 1;
  9.     msg.Data[1] = 2;
  10.     msg.Data[2] = 3;
  11.     msg.Data[3] = 4;
  12.     msg.Data[4] = 5;
  13.     msg.Data[5] = 6;
  14.     msg.Data[6] = 7;
  15.     msg.Data[7] = 8;
  16.     /* USER CODE END 2 */

  17.     /* Infinite loop */
  18.     while(1)
  19.     {
  20.     /* USER CODE BEGIN WHILE */
  21.         CAN_MessageSend(CAN1, &msg, TRANSMIT_PRIMARY);
  22.         mdelay(500);
  23.     /* USER CODE END WHILE */

  24.     }

  25.     /* USER CODE BEGIN 3 */

  26.     /* USER CODE END 3 */
  27. }
编译下载后,通过CAN上位机工具,就能看到发送的报文了。

最后附上工程。
cansample.rar (850.65 KB, 下载次数: 91)
weifeng90 发表于 2021-2-8 08:26 来自手机 | 显示全部楼层
这个配置工具和某T很想啊。
函数不想导 发表于 2021-2-8 23:55 | 显示全部楼层
这个配置引脚的软件是什么 做的蛮好的 越来越方便了
数据采集存储 发表于 2021-2-19 19:08 | 显示全部楼层
我感觉这个工具真的不错的,可以直接配置IO口的。
wwddgod 发表于 2021-4-9 09:47 | 显示全部楼层
希望越做越好
别看我照片 发表于 2021-4-10 18:50 | 显示全部楼层
CAN总线好像不太好难调试了。
weifeng90 发表于 2021-4-12 07:44 来自手机 | 显示全部楼层
杰发好像还没有支持CANFD的MCU吧?
guijial511 发表于 2021-4-13 07:19 来自手机 | 显示全部楼层
这个工具有点像ST的啊
dikehooker 发表于 2021-4-18 12:38 | 显示全部楼层
自动配置软件  bug  不少  
zhengshuai888 发表于 2021-4-18 14:44 | 显示全部楼层
这个界面怎么看起来如此熟悉,哈哈哈。
一点都不会 发表于 2021-5-13 08:56 | 显示全部楼层
你好  我想问一下 GPIO控制standby 和硬件控制有什么区别吗?
一点都不会 发表于 2021-5-13 09:19 | 显示全部楼层
本帖最后由 一点都不会 于 2021-5-13 09:24 编辑

2.png 你好  想请教一下  在用AUTOGEN配置系统时钟之后,已经有了systemclock_config()了;为什么又加上InitDelay()?是为了外部晶振无效时可以切换成内部的时钟吗?
LM莫 发表于 2021-5-15 20:22 | 显示全部楼层
autoGen studio这个好像类似ST cubemx这样的软件吧,autoGen studio整的越来越高级了。
himala 发表于 2021-5-25 20:41 | 显示全部楼层
本帖最后由 himala 于 2021-5-25 20:43 编辑

新版下载链接 在哪?
我找到了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

415

帖子

12

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