找回密码
 立即注册
楼主: ercircle

学习官方Ai8051U实验箱 | 最强记录贴,Ai8051U-8Bit,Keil-C51, SDCC-51, IAR/C++

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-22 22:41:35 | 显示全部楼层
A03-基本和A02一样,工具切USB-HID下载就行,扫描串口那里的不用管,看HID助手里有HID设备点下载就行。
截图202411222240592883.jpg




三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-22 22:46:59 | 显示全部楼层
本帖最后由 ercircle 于 2024-11-22 22:48 编辑

A04-比较传统的USB下载省去了上下电动作,注意首次下载时时钟24M,程序内根据此时钟计算的115200波特率

截图202411222246246203.jpg
usb转串口接线



截图202411222242417140.jpg

截图202411222245355960.jpg

视频里可以看到只要用串口工具发了@STCISP#下载口令MCU就复位,跑马灯复位



三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-22 23:22:11 | 显示全部楼层
85例程,C51编译参考之前的usb工程同样删除reentrant,测试下示波器效果:
截图202411222319566843.jpg
截图202411222320092979.jpg
功能较多,日后再研读代码,先过一遍别的实验。
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-22 23:55:21 | 显示全部楼层
实验83.1 实验箱没找到合适的测量点哇,有请最小系统板~
截图202411222354486992.jpg
截图202411222354588148.jpg
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-23 16:51:40 | 显示全部楼层
本帖最后由 ercircle 于 2024-11-23 18:34 编辑

82实验,C51下上电表现异常,
加入串口1打印日志发现FLAHSID首先收不到
为什么用串口1而不直接用USB打印输出:本来想用PDIP40最小系统板抓,
但是发现P43(CLK)和P31(D+)在一块?
LQFP44又是分开的,避免干扰,
使用USB转双串口出来的【P36,P37】串口1,
这里需要连上J18后两个跳线帽

截图202411231643085696.jpg 截图202411231637376837.jpg
SPI通讯问题,家法伺候,使用逻辑分析仪抓包
{:5_351:}
截图202411231645148861.jpg
截图202411231642233597.jpg
先看一样正常波形,发送0xAB000000收0x17,和代码逻辑期望一致
截图202411231646447711.jpg
截图202411231647109231.jpg
再看C51下异常波形,只发了AB,后三个字节去哪了????:
截图202411231647364497.jpg
检查代码,等待的循环跳过了,因为这里是宏定义不是sbit操作(#define SPIF                    0x80):
截图202411231650286868.jpg
修正:
截图202411231651279261.jpg

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:98
  • 最近打卡:2025-06-15 09:46:00

733

主题

1万

回帖

1万

积分

管理员

积分
16603
发表于 2024-11-23 17:49:30 | 显示全部楼层
截图202411231747436541.jpg


截图202411231748291659.jpg


截图202411231749278040.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-23 23:27:00 | 显示全部楼层
感谢神管补充封装差异图。话接上回,还是实验82,
C51下录音播音异常,能明显看到计时数码管停顿,
对比下传输一包时间:
截图202411231914056778.jpg
截图202411231928367577.jpg
录音256字节写入,发现写入时间C251下比C51周期长些(是个差异,但这几us不是问题点):
一个录音写包周期,C251 369us (命令12us + DMA 356us)
截图202411231919286759.jpg
而C51 653us (命令290us + DMA 364us)
截图202411231919453120.jpg
再看发包间隔C251 30+ms:
截图202411232111317399.jpg
C51 明显过密,2ms:
截图202411232111542998.jpg
为什么这么频繁,查中断次数,查I2S分频系数:
截图202411232113282304.jpg
问题点:
截图202411232113524907.jpg
8*16*2*8000=2048000 > 65536 ,8bit下溢出了
修改为:
#define SampleRate                8000UL
截图202411232118187440.jpg
反推一下:
截图202411232125291496.jpg
截图202411232118496875.jpg
截图202411232208175757.jpg
截图202411232147334879.jpg
截图202411232238435707.jpg

CLKSEL = 0
CLKDIV = 1

fs = 8000
I2SMCKDIV = 18
I2SPRL = 72
I2S比特率=8000*16*2=256000 bps

遗留问题:
I2S时钟分频,I2SMCLK = 主频/2/I2S_CLKDIV/HSCLKDIV/I2SMCKDIV = 36864000 / 2 / 1 /1 / 18 = 1024000 ?
FS = FOSC/(16*2*8*I2SDIV ) = 36864000/ (16*2*8*(18))) = 8000
FS=I2S 时钟÷[(16×2)×(2×DIV+ODD)×8)]
I2S 时钟==FOSC?I2SMCLK 的作用?
2×DIV+ODD == I2SMCKDIV ==18?


I2SPRL == DIV == 72 ???

I2S_VECTOR 中断频率取决于哪个寄存器?



三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-23 23:49:45 | 显示全部楼层
例程82:

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-24 00:20:09 | 显示全部楼层
81例程无法用usb直接下载,要使用USB LINK才支持调频40.96
截图202411240018546084.jpg
截图202411240019575480.jpg

测试用的音源文件在这下载:
AI8051U播放下载在Flash中的立体声32K采样的ADPCM音乐
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2024-11-24 12:58:30 | 显示全部楼层
一个C251下格式化输出的bug记录下,C251下不要用%bu!!!,C51下输出u8使用%bu:
截图202411241245111228.jpg
截图202411241245581216.jpg
截图202411241247491438.jpg

printf函数 的 格式参数; USB接口 使用 printf 打印数据


截图202411241259253307.jpg
截图202411241250221057.jpg

另外,hex格式打印:
printf("temp8=0x%02bx\n",temp8); //C51
printf("temp8=0x%02x\n",temp8); //C251
printf("temp16=0x%04x\n",temp16);
printf("temp32=0x%08lx\n",temp32);

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 04:53 , Processed in 1.329730 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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