ercircle
发表于 2024-11-22 22:41:35
A03-基本和A02一样,工具切USB-HID下载就行,扫描串口那里的不用管,看HID助手里有HID设备点下载就行。
318
ercircle
发表于 2024-11-22 22:46:59
本帖最后由 ercircle 于 2024-11-22 22:48 编辑
A04-比较传统的USB下载省去了上下电动作,注意首次下载时时钟24M,程序内根据此时钟计算的115200波特率
usb转串口接线
视频里可以看到只要用串口工具发了@STCISP#下载口令MCU就复位,跑马灯复位
319
ercircle
发表于 2024-11-22 23:22:11
85例程,C51编译参考之前的usb工程同样删除reentrant,测试下示波器效果:
功能较多,日后再研读代码,先过一遍别的实验。
ercircle
发表于 2024-11-22 23:55:21
实验83.1 实验箱没找到合适的测量点哇,有请最小系统板~
ercircle
发表于 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后两个跳线帽
SPI通讯问题,家法伺候,使用逻辑分析仪抓包
{:5_351:}
先看一样正常波形,发送0xAB000000收0x17,和代码逻辑期望一致
再看C51下异常波形,只发了AB,后三个字节去哪了????:
检查代码,等待的循环跳过了,因为这里是宏定义不是sbit操作(#define SPIF 0x80):
修正:
神农鼎
发表于 2024-11-23 17:49:30
ercircle
发表于 2024-11-23 23:27:00
感谢神管补充封装差异图。话接上回,还是实验82,
C51下录音播音异常,能明显看到计时数码管停顿,
对比下传输一包时间:
录音256字节写入,发现写入时间C251下比C51周期长些(是个差异,但这几us不是问题点):
一个录音写包周期,C251 369us (命令12us + DMA 356us)
而C51 653us (命令290us + DMA 364us)
再看发包间隔C251 30+ms:
C51 明显过密,2ms:
为什么这么频繁,查中断次数,查I2S分频系数:
问题点:
8*16*2*8000=2048000 > 65536 ,8bit下溢出了
修改为:
#define SampleRate 8000UL
反推一下:
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 中断频率取决于哪个寄存器?
ercircle
发表于 2024-11-23 23:49:45
例程82:
328
ercircle
发表于 2024-11-24 00:20:09
81例程无法用usb直接下载,要使用USB LINK才支持调频40.96
测试用的音源文件在这下载:
AI8051U播放下载在Flash中的立体声32K采样的ADPCM音乐
ercircle
发表于 2024-11-24 12:58:30
一个C251下格式化输出的bug记录下,C251下不要用%bu!!!,C51下输出u8使用%bu:
printf函数 的 格式参数; USB接口 使用 printf 打印数据
另外,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);
页:
1
2
3
4
[5]
6
7
8
9
10
11
12
13