找回密码
 立即注册
查看: 9221|回复: 151

Ai8051U-32Bit 创新风格库函数, 4/26更新,持续完善,USB型,内部视频培训, 听取建议

  [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-1-9 12:12:37 | 显示全部楼层 |阅读模式
USB型,Ai8051U-32Bit 创新风格库函数持续开发中,内部视频培训,  听取建议
简介:

Ai8051U  是一款强大而简单的 MCU,新增了很多强大的新功能,为方便只具有C语言基础的初学者,
我们全新打造了 更人性化的国芯Ai8051U专属库函数,听取大家的建议,不断改进!


以下是库函数配套的代码生成小工具网站,目前仅作测试
AI8051U 库函数工具导航

库函数更新周期:
未完成前大约2~3天进行一次更新,如果有较大问题会立刻修复。
全部完成后进入维护期,期间有好的建议/想法或者bug反馈会尽量在7天内进行处理。

库函数的操作手册:
PDF版本手册在这个链接:
AI8051U专属库函数-PDF版本使用手册 - FOC,有ICache的 32F12K54 测试版块 国芯技术交流网站 - AI32位8051交流社区
里面会进行使用说明的举例,有使用问题欢迎在这个链接内提出。
如果是较为普遍的问题,会同时收录进入PDF版本的手册。

库函数预计更新内容(暂时性的,作为备忘录,会随时更新):
1.通过外挂额外的程序实现库函数内部的深度优化,进一步缩减体积
2.依赖SPI库实现的0.96'/1.3'OLED驱动库
3.时钟树控制部分
库函数目前拥有的内容:
1.自动获取运行主频功能(内部HIRC的所有频率都可以识别),并自动参与初始化计算(例如定时器的定时时间)
2.接近直接使用寄存器的体积占用(xfr部分使用指针访问优化)
3.可以设置I/O的所有模式,以及设置上拉电阻、下拉电阻、施密特输出、转换速度、驱动电流等。

4.设置I/O的独立中断触发部分。
5.设置外部中断部分,包括各种模式和中断状态获取(无需关心实际的中断函数)。
6.设置定时器(包括T0~T4,T11),新增一键设置定时器,一行代码即可实现定时器配置,并可支持外部脉冲计数。
7.设置串口(包含串口DMA部分),新增支持一键配置函数支持默认值,并可使用拓展的uart_printf函数,快速交互。
8.使用ADC部分(包括连续转换和单次触发模式)。
9.使用I2C部分(可以随意组合的指令串风格)
10.使用SPI部分(支持DMA并可以同时使用三路SPI)
11.使用PWM部分(支持同时使用8路PWM通道输出,同时捕获输入8路信号的周期或4路信号的占空比)
12.使用EEPROM部分(支持均衡磨损使用,带有变量绑定机制)
13.使用协程的多线程应用支持,可以支持95%场景分时非堵塞任务
USB型,Ai8051U 创新风格 库函数讲解演示视频, 逐步添加完善中:
第一集:I/O口模式设置,传统外部中断【INT0, INT1, INT2, INT3, INT4】
(注:视频中的if(get_int_state(INT0))应该替换为if(get_int_state(Int0)),编写程序时的笔误,Int1也是如此
第二集:所有普通 I/O口 都支持的外部中断
第三集:定时器,【16位自动重装载定时器 + 8位预分频或不分频】= 24位定时器
第四集:串口通信,有DMA支持,有接收超时中断

第五集:ADC 库函数讲解
第六集:高级PWM输出和输入捕获,可互补带死区输出,可同时捕获4路信号占空比和周期,或同时捕获八路信号周期
USB型,Ai8051U 创新风格 库函数讲解演示视频, 逐步添加完善中:
===手把手,一行行带您手敲代码学习
第一集 I/O口模式和传统的外部中断

  















USB型,Ai8051U创新风格库函数下载链接持续完善中
AI8051U专用库函数(2025年4月26日).zip (4.52 MB, 下载次数: 10)

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-1-9 12:12:49 | 显示全部楼层
AI8051U专属库函数更新记录
(仅作展示,只保留最新5条,详细记录可以查看压缩包内的详细更新记录)


2025年4月26日 11点27分
-Auto_Keil更新保存地址使用相对地址,以防止初次编译出错

2025年4月17日 18点58分
-修复有关自动获取时钟时,可能会错误关闭总中断的问题

2025年4月17日 15点03分
-修复有关Timer11中断函数设置中的一处数组越界问题

2025年4月14日 16点42分
-修复协程部分中,task_end的等待问题
-增加task_while参数,推荐调用方式为task_while(1){...};task_break(条件);
-修复独立例程9-使用协程完成多任务调度内的注释错误

2025年4月9日 14点22分
-更新定时器部分库函数,支持外部脉冲计数
-每次获取后自动清零,需注意定时器的外部脉冲计数引脚是固定的
-更新独立例程2设置定时器及外部中断部分(T0,T1,T2,T3,T4,T11)
-使用USB-CDC显示程序主动触发的脉冲和读取到的定时器脉冲数据



1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2025-1-9 13:16:51 | 显示全部楼层
做成功能可裁剪的?

点评

易用性和空间占用无法同时保证,只能尽量对功能做细分,到时候按需加入部分库函数。 如果想要同时拥有易用性和占用空间小,只能通过额外的软件直接生成经过裁剪的寄存器配置代码  详情 回复 发表于 2025-1-9 14:10
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-1-9 14:10:21 | 显示全部楼层
_奶*** 发表于 2025-1-9 13:16
做成功能可裁剪的?

易用性和空间占用无法同时保证,只能尽量对功能做细分,到时候按需加入部分库函数。
如果想要同时拥有易用性和占用空间小,只能通过额外的软件直接生成经过裁剪的寄存器配置代码
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2025-1-9 14:26:52 | 显示全部楼层
王*** 发表于 2025-1-9 14:10
易用性和空间占用无法同时保证,只能尽量对功能做细分,到时候按需加入部分库函数。
如果想要同时拥有易 ...

对 就是按需加入库函数,,做一个配置文件,利用宏定义开启或者关闭暂时用不到的功能。。我觉得应该就可以了

鱼和熊掌当然是不可得兼,,吃鱼的时候,尽可能的闻闻熊掌的味道,也未尝不可。

点评

这个目前已经通过REMOVEUNUSED进行支持了,不调用的文件默认就是不参与编译的。 调用的占用较大这个暂时没什么很好的办法,只能尽量的优化了。  详情 回复 发表于 2025-1-9 14:29
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-1-9 14:29:00 | 显示全部楼层
_奶*** 发表于 2025-1-9 14:26
对 就是按需加入库函数,,做一个配置文件,利用宏定义开启或者关闭暂时用不到的功能。。我觉得应该就可 ...

这个目前已经通过REMOVEUNUSED进行支持了,不调用的文件默认就是不参与编译的。
调用的占用较大这个暂时没什么很好的办法,只能尽量的优化了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2025-1-9 14:30:08 | 显示全部楼层
王*** 发表于 2025-1-9 14:29
这个目前已经通过REMOVEUNUSED进行支持了,不调用的文件默认就是不参与编译的。
调用的占用较大这个暂时 ...

用这个命令 确实 可以,,,,但是你的扩展中断。。。。咋办

点评

使用拓展中断号的小工具  发表于 2025-1-9 17:06
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2025-1-9 17:11:43 | 显示全部楼层

这个命令和小工具可以一块用了?

点评

32bit模式下一直都是可以一起用的,目前暂时不考虑支持8bit,所以是能用的  详情 回复 发表于 2025-1-9 17:41
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-1-9 17:41:02 | 显示全部楼层
_奶*** 发表于 2025-1-9 17:11
这个命令和小工具可以一块用了?

32bit模式下一直都是可以一起用的,目前暂时不考虑支持8bit,所以是能用的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2025-1-9 17:47:29 | 显示全部楼层
王*** 发表于 2025-1-9 17:41
32bit模式下一直都是可以一起用的,目前暂时不考虑支持8bit,所以是能用的 ...

原来如此,,那没事了,,

突然又想起来一件事,,,32Bit下,,这个命令不是和除法运算  有什么问题的说?好像是说汇编上会多生成一个什么命令?

点评

只要使用强制类型转换就没问题了,那个大概是编译器自己的问题  发表于 2025-1-10 06:39
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 21:24 , Processed in 0.147559 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表