国学芯用 发表于 2024-11-29 11:27:06

AI8051U学习打卡日历

本帖最后由 国学芯用 于 2024-11-29 11:32 编辑

打卡学习:
第一集==序
8051U强在哪里?
1.屏幕显示和视频播放(flash编程器)
2.IIS录放音==已测试
3.PWM DMA
4.频谱分析仪(上位机)
5.手写计算器
6.QSPI,PWM移相,硬件乘除,单精度浮点AI8051U实验箱功能强大丰富

Ai8051U 1个芯片就可以:USB直接下载,USB直接仿真,全球唯一 34K SRAM, 64K Flash,轨到轨比较器; TFPU@120MHz,uS级硬件浮点/硬件三角函数 运算器; PWM@120MHz支持硬件移相,16位PWM; DMA支持外设直接到外设:12位ADC,4组串口,Lin, QSPI,SPI,I2S,I2C,TFT-i8080/M6800 接口STC32G12K128 1个芯片就可以:USB直接下载,USB直接仿真,全球唯一 12K SRAM, 128K Flash,CAN/Lin,轨到轨比较器,PWM; DMA支持: 12位ADC,4组串口,SPI,I2C,TFT-i8080/M6800 接口

第二集:AI8051U实验箱功能强大丰富,冲老师分别介绍各个模块。
第三集:点灯大师,语句结束要加分号,大括号要换行并缩进
             点亮一个灯+当目标交件变化时自动装载并发送下载命令

             点灯大师,点亮两个灯+当目标交件变化时自动装载并发送下载命令
第四集:点亮三个灯+USB不停电下载。刚刚编译好,灯不亮,查找原因,着急啊,后来找了 冲老师
             发现 魔法棒进去,Memory Model要选XSmall,下次一定要小心


打卡第五课:跟着冲老师操作顺利完成,但是我觉得总体内容还是很多的,那么多字符运算符,过一遍可能没两天就忘了,所以可能需要多练习,十遍八遍的去熟悉

学完第五集,感觉很实在,不像像以往学MCU 学C语言那么虚无缥缈   没那么抽象   
                   实实在在的操作下来,就觉得没那么难了,特别是CDC虚拟串口,方便简单,先操作,跟着冲老师操作完了就懂了。




国学芯用 发表于 2024-11-29 11:39:53

复习第四课,跟着最新的AI8051U数据手册17.4章节操作的,很顺利    2024-11-28


知识点:(STC_USB_CDC 功能可以实现不停电下载,不用再去冷启动下载,很方便!很实用的功能!)



打卡第五课:
1.C语言 USB-CDC串口之printf函数的实现===这个非常实用,学会了就会一直收益,重点就是普通字符和转换说明
2.数的进制:2进制、10进制、16进制===用笔记本自带的计算器,很好用
3.数据的基本类型===要添加声明
4.C语言常用运算符==好多运算符,后面记不住还得回来查找

2.总结:(注意点:变量的运算要注意位数,不然会溢出)



国学芯用 发表于 2024-11-29 17:20:12

本帖最后由 国学芯用 于 2024-12-4 08:46 编辑

第六集打开中 ,卡壳了,编译没通过,提示有语法错误, 后来找冲老师帮忙检查
结果是少了一个括号   修正后编译通过

有一说一,AI8051U-ISP软件非常好,小工具好用啊,冲哥讲的也浅显易懂,跟到第六集没难度
attach://67892.mp4




国学芯用 发表于 2024-12-9 11:42:15

<p>打卡第七课: 一步步跟着冲哥的视频学完,感觉还可以啊,再回头自己来又不行了,还是得反复练习</p>
<p><a href="forum.php?mod=attachment&amp;aid=75841" title="attachment"><img src="/source/plugin/zhanmishu_markdown/template/editor/images/upload.svg" alt="upload" /> 附件:第七课定时器中断.zip</a></p>
<video controls="controls" src="forum.php?mod=attachment&amp;aid=75840"></video>

STC企鹅 发表于 2024-12-9 12:16:54

<h4><strong>哪怕梦想让我们拼的遍体鳞伤,这一次我们也要勇往直前</strong></h4>

国学芯用 发表于 2024-12-24 16:15:12

<p>打开第八课:</p>
<p>第八集 定时器周期性调度任务</p>
<ol>
<li><strong>任务定义与初始化</strong>
<ul>
<li>每个任务都有一个状态变量(<code>run</code>),用于指示该任务是否应该被执行。</li>
<li>为每个任务设置了计数器(<code>time_count</code>)和重载值(如300毫秒、600毫秒、900毫秒),用以控制任务的执行周期。</li>
</ul>
</li>
<li><strong>代码组织</strong>
<ul>
<li>将不同功能模块分离到各自的 <code>.c</code>和 <code>.h</code>文件中,例如 <code>IO.c</code>/<code>IO.h</code>用于输入输出操作,<code>test.c</code>/<code>test.h</code>用于测试或特定任务逻辑等。</li>
<li>在新增任务时,在相应的结构体数组中添加新的条目,并确保正确配置其初始参数(如周期、函数指针等)。</li>
</ul>
</li>
<li><strong>错误处理</strong>
<ul>
<li>遇到编译错误时,仔细检查错误信息,特别是关注可能由文件名冲突或字符编码问题引起的乱码现象,避免使用可能导致问题的中文字符,尽量使用英文命名。</li>
<li>确保所有必要的选项被正确选择,比如时钟频率、单片机型号等。同时确认“当目标文件变化时自动装载下载命令”选项已勾选,以保证程序能顺利下载到单片机。</li>
</ul>
</li>
<li><strong>功能验证</strong>
<ul>
<li>通过观察LED按照预定的时间间隔闪烁来验证多任务调度系统的正确性。</li>
<li>实现了非阻塞式的按键检测机制,并结合串口通信打印出按键按下的消息,进一步测试了系统的响应能力。</li>
</ul>
</li>
<li><strong>优化建议</strong>
<ul>
<li>移除不再需要的代码段,使主程序更加简洁明了。</li>
<li>为关键部分添加详细的注释,帮助理解和维护代码。</li>
<li>始终使用最新版本的开发工具和库,以获得更好的兼容性和性能。</li>
<li><a href="forum.php?mod=attachment&amp;aid=76401" title="attachment"><img src="/source/plugin/zhanmishu_markdown/template/editor/images/upload.svg" alt="upload" /> 附件:手敲程序第八集-定时器周期性调度任务.rar</a></li>
</ul>
</li>
</ol>

522810886 发表于 2024-12-24 16:51:32

{:4_250:}
页: [1]
查看完整版本: AI8051U学习打卡日历