- 打卡等级:以坛为家II
- 打卡总天数:458
- 最近打卡:2025-05-01 07:48:22
已绑定手机 已实名认证
版主
- 积分
- 5450
|
发表于 2024-12-2 20:45:44
|
显示全部楼层
本帖最后由 王昱顺 于 2024-12-2 21:21 编辑
问题51:
刚刚用串口工具保存数据发现的问题:
下图是串口接收了256个0xFF数据,

下图是保存接收数据的文件的数据,这都792个字节了,而且数据完全对不上。
回复:
使用文本模式接收,然后保存为bin文件,再用查看源数据的软件打开就对了。
你现在这个是FF原始数据变成->FF(文本数据)吧
链接:
发现个ai-isp下载工具的bug - 问题反馈:ISP软件/头文件/单片机数据手册规格书等 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题52:
每个中断外设最后变得的4个优先等级是做什么用的,是针对什么要设置4个等级?谢谢了。
我再使用STC8H的库的时候看到有优先级,然后追钟到这里,就不清楚这个最后边的优先等是什么意思了
回复:
这个优先级就是打断优先级,例如串口的优先级设置为最高,time0设置为最低。那么在time0执行中断的时候,可以被串口打断,优先执行串口中断函数,执行完成后再回来执行串口中断。
如果碰到同一种优先级但是中断请求同时到来的情况,则按照中断号的先后来进行优先级判定
链接:
中断优先级说明 - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题53:
如题,我要用pwma输出pwm控制电机,同时要用pwmb捕获来检测编码器转速。这两个模块能否同时使用。
回复:
可以的,pwma和pwmb是独立的两个pwm模块,使用上互不干扰
链接:
ai8h的pwma和pwmb模块能否同时使用 - BLDC/144MHz-PWM-硬件移相/45路PWM+3路CCP/7组不同周期的PWM/DAC 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题54:
Ai接入小工具测试-技术验证,接的api还是本地部署
回复:
api方式,ai作为中间代理,帮助解析需求后自动点击小工具,本质还是由受控制的代码生成小工具来做代码生成。可以尽最大程度避免ai胡编乱造的问题
链接:
Ai接入小工具测试-技术验证 - 其他技术交流 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题55:
能把USB驱动原理从头到尾讲一遍吗,一边写代码一边讲解
回复:
这个可以看一下论坛内的何宾教授的视频,很详细了
链接:
时钟树配置工具完整测试报告 - FOC,有ICache的 32F12K54 测试版块 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题56:
oled有4针的和7针的,有知道它们的作用分别是什么吗
回复:
4针的是使用IIC驱动,速度比较慢。适合引脚紧张的应用。
7针的是使用SPI驱动,速度比较快,通常可以达到几百帧的更新频率,显示会更加流畅。
链接:
关于显示屏 - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题57:
PWM输出的管脚, 怎样通过寄存器设置指定到不同的管脚 ?
回复:
可以时钟PWM配置小工具,现已支持AI32/AI8全系列的高级PWM配置,点点就能生成
链接:
PWM输出的管脚, 怎样通过寄存器设置指定到不同的管脚 ? - BLDC/144MHz-PWM-硬件移相/45路PWM+3路CCP/7组不同周期的PWM/DAC 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题58:
那么问题来了,STCAI什么时候才会推出双CPU的MCU呢?
或者是通过DMA+LCD控制器,将这个功能用硬件实现
回复:
DMA+LCM已经有了啊,刷屏速度还可以。
目前的ai8051u已经可以刷到30帧的320*240了
不过目前还不适合作为实施绘制复杂GUI使用,因为主频还没有那么高,更偏向逻辑控制
不过,可以期待一下AI8052U的sram运行程序的速度
链接:
对AI8052U/AI32G LQFP100的LCD驱动一些想法 - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题59:
好像成品驱动里面是有个肖特基.
我加个肖特基看看.
今天我试了一下. IO口 用 准双向模式,效果更差了.
强推挽反而还好点!
我上查了一下. 欧姆定律.如果我串联个4.7K的电阻.好像可以增加几十毫秒的时间.那就完全够了
回复:
你这个构型不大行吧,单片机断电以后没法让电容放电。
建议电容的一端连负极,另一端通过电阻也连负极。
上电的时候设置为高阻读取adc,读取完成后设置为推挽置1进行充电。
电容可以小一点,电阻可以大一点,放点就慢了
链接:
(已解决)刚解决一个问题,又来新的问题.关于电容充电时间 - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题60:
梁工,我咨询大佬了,他说,是要找下电池的充放电曲线,充电和放电的电量电压不一样,然后再加点回差这个根据测试来定,或者精度要求不高就定大一点。但是我还是不知道怎么编程,谢谢梁工指点。
回复:

大致是这么个意思,就是需要额外判断是否在充电。
如果充电的话就叠加上如上这样的一个差值数组,让其恢复成没有充电的电压,再进行判断。
那个所谓的回差,就是基于以上的补偿数据,将挡位变化引入一定的延迟,使其重叠。让显示的时候看起来更稳定。

链接:
关于充放电电量指示灯不一致的问题 - 第2页 - 其他技术交流 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题61:
通过电压计算电量是不准确的,电动车电量显示就是例证
回复:
这个主要取决于负载电流的变动。
电动车加减速情况下电流差异极大,所以不适合使用电压检测电量。
但是如果电池的负载比较小,只有不大变化的恒定电流,用电池电压检测大概的电量还是可以的
链接:
关于充放电电量指示灯不一致的问题 - 第2页 - 其他技术交流 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题62:
在使用STC32G12K128官方实验箱9.62版本中,使用Kcer001淘宝店购买的TFT彩屏,驱动使用的例程37的TFT测试程序,但是在调试移植的过程更改test文件里的main_test中的显示文字的时候,出现很奇怪的问题,在修改了字库的情况下“数”这个字无法成功显示,在我控制变量法排查下,最后选择用“书”代替“数”的检索,字模使用"数"这个字的字模,却能成功显示,这个是为什么,我增别的字模都没问题。
回复:
这个是经典的0xfd问题,是keil的一个中文bug。
keil在编译的时候拿0xfd当标识了,没考虑到中文场景的编码碰撞。
所以需要使用/xfd数进行标识,具体可以搜索论坛内的0xfd乱码问题,或者直接参阅技术手册附录部分
链接:
分享一个TFT彩屏驱动里非常奇怪的BUG顺便请求帮助解答|已解决 - TFT彩屏,触摸屏,DMA-i8080/M6800并口自动刷屏,DMA-SPI刷屏,外设直接到外设 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题63:
设置DMA接收10个字节数据,但传送到一般终止了需要重新传输,是不是把这个寄存器清零就能从头开始接收了
回复:
这个done寄存器是没法写入0清空的。
想要清空需要给dma的使能关掉再打开就可以了
不然就是累计计数
链接:
有关DMA传输数据清零的问题 - DMA支持: QSPI, SPI, I2S, I2C, 4组串口, i8080/MC6800-TFT 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题64:
试验箱 STC32G12K128 屏 0.96寸老款四针oled屏
只让屏亮,但程序一直编译不成
回复:
看报错似乎是定义重复,还有一个问题,你这主函数内调用其他的函数,有进行函数的声明嘛?
不声明是不行的
链接:
OLED - 老鸟反刍/吐槽,新手乐园,毕业设计 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题65:
大佬,这个输入时钟设定是和这个IRC频率对应的啊?
回复:
是的,因为stcisp可以调节,所以暂时没有做程序内调节irc的功能。
直接保持两个数据的一致就可以了。
小工具里面的这个时钟只是作为后续计算使用
链接:
Ai8051U专享 引脚切换 配置小工具 - 第2页 - FOC,有ICache的 32F12K54 测试版块 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题66:
哦,我记得下载时需要同时读写的,难道是ISP/OTA程序中处理了?
回复:
正常isp,官方给的升级程序都是读写校验,防止出错。
但是这样对软件要求比较高,所以我就改成一次通讯和一次校验了。
只需要随便一个串口助手,能给文件发出去就可以
链接:
手机也能对AI8051U, ISP/OTA升级用户程序了,使用用户系统区实现 - 第2页 - ISP下载/做自己的ISP 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题67:
感谢各位大佬,问题已解决。
报错原因:从官方例程移植程序的过程中有代码遗漏,如下图:
吊诡的地方是:缺了代码,程序还能跑起来。使用STC软件正常收发,和没事一样,最后匹配上位机软件才发现问题。
STC调试软件能打开串口,换别的串口调试软件或python脚本就报错,如下图
回复:
多个软件不能同时打开同一个串口,不然会造成冲突。
如果你想测试其他的串口工具是否能打开,应该先把STC-ISP的串口关闭,再通过其他的软件打开
链接:
【已解决】【求助】一个虚拟串口诡异的问题 - 综合讨论 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题68:
在同一组IO口做4x4矩阵按键,网上扫描程序很多,也很经典。但是行线、列线不在同一组IO口,甚至比较分散的IO口进行编程网上很少.最近用STC8H4K64TL做试验,由于完整的P2口和P4口均被数码管占用,只能用其它不连续的IO作为4X4矩阵按键,自己琢磨了很久还是不得其法,特发帖求助各位大佬,谢谢!
回复:
类似的,替换其中的内容即可实现不同IO集合到一起
- //将键盘IO集合为一个8位数据
- void Set_Key(unsigned char Dat)
- {
- P30 = (Dat>>0)&1;
- P31 = (Dat>>1)&1;
- P32 = (Dat>>2)&1;
- P33 = (Dat>>3)&1;
- P34 = (Dat>>4)&1;
- P35 = (Dat>>5)&1;
- P42 = (Dat>>6)&1;
- P44 = (Dat>>7)&1;
- }
- unsigned char Get_Key(void)
- {
- unsigned char Dat;
- Dat = ((P44?1:0)<<7)|((P42?1:0)<<6)|((P35?1:0)<<5)|((P34?1:0)<<4)|
- ((P33?1:0)<<3)|((P32?1:0)<<2)|((P31?1:0)<<1)|((P30?1:0)<<0);
- return Dat;
- }
复制代码
链接:
不在一组IO口的矩阵按键扫描程序C语言如何处理? - I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题69:
请问楼主中间两条红黑细线是干什么用的
回复:
这个是can的通讯线,用来通讯的
链接:
STC-FOC Lite制作完整流程详解 - FOC,有ICache的 32F12K54 测试版块 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题70:
请教以下几个关于理解AI8051U芯片时钟的几个问题:
1. 时钟树的这个IRCBAND频段是不是以ISP设置的IRC频率为准,而main文件里面define的MAIN_Fosc只起到一个宏定义的作用。
2. 如果IRC以ISP设置24MHz为准,那么配置SPI通过如下时钟树配置时,只要不高于20MHz就行了是吗?是不是就可以HSCLKDIV和SPICLKDIV择一配置除以2即可。
3. 另外上面时钟树的图里说了高速SPI输出频率不高于33M,但是在HSPI章节里面说可以在144MHz下工作,两者是一个意思吗?如果是一个意思应该就会有矛盾。
回复:
1.这个频段是用来设置内部irc的不同谐振点,stcisp也是调节的这个。main_fosc是用来程序中计算用的。需要跟stcisp中保持一致
2.spi的clk和输入时钟并不是相等的,最快可以到spi输入时钟/2,需要在spi部分进行设置
3.hspi确实可以工作在144mhz下,输出速率其实是受限于io口速率了。一般是用来拉高一点spi输入时钟频率来跑满io性能,例如主频40mhz情况下spi最快是能到20mhz,想要升高就需要走pll和hspi功能了
链接:
新手请教关于AI8051U的时钟问题 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题71:
使用芯片:8A8K64D4
我在初始化P6.3和P1.4引脚的pwm的时候,设置P6.3的默认电平是1,P1.4的默认电平是0,但是烧录程序之后使用示波器测试这个两个引脚的pwm方波是相同的,没有180°改变
回复:
您好,初始电平仅仅是作用于PWM未输出前的电平,并不能反转相位。
您可以尝试将PWM15Duty内的两个反转点值进行对换。
例如:
- PWM15Duty(PWM15_4, 10, 100);//正相
- PWM15Duty(PWM15_4, 100, 10);//反相
复制代码
链接:
PWM设置默认高低电平不生效,PWMChannelCtrl(),芯片采用8A8K64D4 - BLDC/144MHz-PWM-硬件移相/45路PWM+3路CCP/7组不同周期的PWM/DAC 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题72:
用的芯片AI8H1K08T,有外置晶振32768
已知:
1. 一上电,系统时钟和RTC时钟皆选择外部32768,进入掉电模式前激活一分钟中断,RTC无法唤醒掉电模式
2. 一上电,系统时钟选择内部高速IRC,RTC时钟选择外部32768,,进入掉电模式前激活一分钟中断,结果RTC一分钟中断可以唤醒掉电模式而且时间准确
尝试:
3. 一上电,系统时钟选择32768,RTC时钟和中断不激活
3.1 准备进入掉电模式前,系统时钟选择内部高速IRC,激活RTC时钟选择32768和一分钟中断,然后进入掉电模式,结果10秒就唤醒
3.2 准备进入掉电模式前,系统时钟选择内部低速IRC,激活RTC时钟选择32768和一分钟中断,然后进入掉电模式,结果无法唤醒
问题:
请问3.这种切换时钟源的方法可行吗,还是两者只能选择独立的时钟源如2.,谢谢!
回复:
虽然系统允许外部32k作为系统时钟。
但是过低的时钟频率可能导致系统执行指令缓慢,不推荐这种用法
所以第二种方式才是正常的使用方法,想要省电可以进入掉电模式,而非一味的降低时钟频率
链接:
系统时钟和RTC时钟源问题 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题73:
低功耗:端口全部都是高阻。还有什么需要注意?
回复:
低功耗不是时钟低就好。
而是尽可能快的处理完任务后,进入掉电模式,等待再次唤醒。
低频率下的内核功耗不容忽视。
在掉电模式的时间越长,整机也就越省电,因为此时cpu是不工作的,电流可以低至ua级别
链接:
8G1K08-36I 低功耗问题 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
问题74:
手册有描述同时设置CCiE和CCiNE则开启死区插入,那么对于PWMB支持吗?
回复:
你好,PWMB并没有互补输出,死区插入仅能对带有互补输出的PWM模块生效,所以PWMB并不支持死区插入
链接:
AI8H的PWMB四个通道是否支持死区插入? - BLDC/144MHz-PWM-硬件移相/45路PWM+3路CCP/7组不同周期的PWM/DAC 国芯技术交流网站 - AI32位8051交流社区
/****************************分割线****************************/
|
|