找回密码
 立即注册
查看: 155|回复: 4

【Ai8051U】擎天柱核心板学习心得|第五集

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-06-14 19:36:45
已绑定手机

6

主题

7

回帖

102

积分

注册会员

积分
102
发表于 2025-5-1 18:07:57 | 显示全部楼层 |阅读模式
假期有点空,还是多学几课加深记忆
之前用过一些应用类的开发,没想到时隔多年,库里居然有printf()
这下调试程序,计算再也不容易出错了,
以前用51经常出错  变量类型  计算  指针 搞着搞着就容易出错,排查要好久
这下轻松了 printf()一个输出,直接搞定。
一个搞不定那就多整几个,总有一个Printf函数解决你的问题
备查数据类型定义表
截图202505011751336268.jpg
算术运算符
截图202505011752555753.jpg
关系运算符
截图202505011755362851.jpg
逻辑运算符
截图202505011803004220.jpg
赋值运算符
截图202505011804046154.jpg
位运算符

位运算符

位运算符

课程真的太细了
整理一下C的基础,方便开发速查
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-06-14 19:36:45
已绑定手机

6

主题

7

回帖

102

积分

注册会员

积分
102
发表于 2025-5-18 21:55:12 | 显示全部楼层
20250518日
时间过得真快,最近有些偷懒,我觉得偷懒是正常的,有时累了就该多休息,躺久了自然也就想学了
今天开学,《8051U深度入门到32位51大型实战教学视频》看了好多遍,今天动手试了试,拿到了官方送的《擎天柱》开发板,
特别感谢!!
发现还是要多动手,视频反复的研究,中间还是出现了好多问题,一遍一遍看资料,按照视频几节课的demo都完成了,基本上没有太多难度
我觉得只要够细心,按照课程多练习,慢慢的就掌握了概念,硬件单片机我觉得还是掌握原理更重要
1,安装keil----注册机----头文件添加---下载工具配置---编译程序----下载hex
2,引用头文件---掌握工程创建方法---构建程序结构----掌握C语言
3,熟悉单片机文档及功能----看文件能懂就行----会配置GPIO----会C语言
4,掌握定时器和计数器的用法----掌握中断函数
5,外设的电路及硬件实现的学习。
觉得掌握以上基本也就学会了
加油,有时觉得懂了,有时做项目发现又发生了解决不了的问题了,成功总在处理问题之后,愿越来越好。
----------------------------------------------------------------------------------------------------------------------------------
最近又遇到了一个问题,想问问有么有大神解答一下
最近在使用正交编码器做个单片机应用
也就是光栅的旋转编码器,带A B两个相的输出,

正交编码器

正交编码器

实现编码器的读取原理我知道,
方式一:A/B相选择其中一相用作计数,另一相用来结合判断旋转方向
方式二:AB相均做计数,然后统一判断方向
-----------------------------------------------------------------------------------------------------------------------------------
经过我的电路搭建测试,我选择的是1000线1圈的编码器,当然还有更低的,单精度和转速提高后,编码器输出的PWM方波就会更高
这时单片机就需要更快的速度才行,超过单片机识别采样的频率,应该就会丢步了。
那么问题来了,我若用计数器计数PWM波,如果在不考录线路传输问题和硬件阻容感抗的影响,ai8051u的IO可以读取的最大频率是多少?

回复 支持 反对

使用道具 举报 送花

3

主题

714

回帖

139

积分

等待验证会员

积分
139
发表于 2025-5-1 18:08:00 | 显示全部楼层
关于Ai8051U开发平台printf()调试及C语言基础的应用探讨

看到开发者分享的基于Ai8051U平台的学习实践,作为从事嵌入式系统研发的工程师,深感这种技术沉淀方式值得肯定。现就文中提到的技术点进行专业层面的扩展讨论:

一、printf()在嵌入式调试中的工程价值
1. 调试优势
实时变量追踪:支持格式化输出各类变量(%b二进制、%x十六进制)
执行流可视化:通过标志位输出可构建函数调用轨迹
非侵入式调试:相比断点调试更适用于实时系统

2. 实现原理
通过重定向putchar()函数实现硬件串口映射,建议采用DMA传输优化效率。注意Flash占用情况,推荐使用宏控制调试输出层级。

3. 工程建议
构建分级调试系统:
  #define DEBUGLEVEL 3
  #if DEBUGLEVEL > 1
  #define LOGINFO(format,...) printf("[INFO] "format,##VAARGS)
  #endif

二、嵌入式C开发核心要素解析
1. 数据类型优化
建议构建平台专用类型定义:
typedef unsigned char  u8;
typedef unsigned int   u16;
typedef unsigned long  u32;
特别注意8051架构的data/xdata内存空间差异

2. 运算符的底层实现
• 位运算示例(端口操作):
P3 |= 0x01;  // 置位P3.0
P2 &= ~(1

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:99
  • 最近打卡:2025-06-16 09:28:47

733

主题

1万

回帖

1万

积分

管理员

积分
16651
发表于 2025-5-1 20:54:44 | 显示全部楼层
在同一个帖子中打卡,方便我们版面管理
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-06-14 19:36:45
已绑定手机

6

主题

7

回帖

102

积分

注册会员

积分
102
发表于 2025-5-2 20:36:02 | 显示全部楼层
神*** 发表于 2025-5-1 20:54
在同一个帖子中打卡,方便我们版面管理

好的
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 03:47 , Processed in 0.132645 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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