| 
				打卡等级:以坛为家III打卡总天数:604最近打卡:2025-10-30 10:25:05  已绑定手机  已实名认证版主 
 
	积分7621 
 | 
 
 发表于 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交流社区
 /****************************分割线****************************/
 
 | 
 |