找回密码
 立即注册
楼主: 王昱顺

Ai8051U-32Bit 创新风格库函数, 5/28更新,持续完善,USB型,内部视频培训, 听取建议

 火.. [复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-06-03 09:09:20
已绑定手机

9

主题

61

回帖

313

积分

中级会员

积分
313
发表于 2025-4-6 03:00:10 | 显示全部楼层
王*** 发表于 2025-4-5 07:47
我修改了一下例程,现在应该可以了,需要将EEPROM绑定函数放到程序最开始。

可以参考我的设置,我给通 ...
  1. //代码1
  2.         WTST = 0;                // 设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
  3.         EAXSFR();                // 扩展SFR(XFR)访问使能
  4.         CKCON = 0;      // 提高访问XRAM速度
  5.        
  6.         usb_init();
  7.         set_eeprom_mode(Hex_Mode, &start_cnt, sizeof(start_cnt));//绑定变量到EEPROM
  8.         set_eeprom_sync(Pull);//拉取变量的值到本地变量
  9.        
  10.         set_timer_mode(Timer0, "1ms", Timer_End);
  11.         set_timer_isr(Timer0, set_task_mode);
  12.        
  13.         set_io_mode(pu_mode, Pin50, Pin_End);
  14.        
  15.         EA = 1;
  16.         start_cnt++;//开机次数加1
  17.         set_eeprom_sync(Push);//将本地变量的值更新到EEPROM
  18. //代码2
  19.         WTST = 0;                // 设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
  20.         EAXSFR();                // 扩展SFR(XFR)访问使能
  21.         CKCON = 0;      // 提高访问XRAM速度
  22.        
  23.         usb_init();
  24.        
  25.         set_timer_mode(Timer0, "1ms", Timer_End);
  26.         set_timer_isr(Timer0, set_task_mode);
  27.        
  28.         set_io_mode(pu_mode, Pin50, Pin_End);
  29.        
  30.         EA = 1;
  31.         set_eeprom_mode(Hex_Mode, &start_cnt, sizeof(start_cnt));//绑定变量到EEPROM
  32.         set_eeprom_sync(Pull);//拉取变量的值到本地变量
  33.         start_cnt++;//开机次数加1
  34.         set_eeprom_sync(Push);//将本地变量的值更新到EEPROM[b][/b]
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-06-03 09:09:20
已绑定手机

9

主题

61

回帖

313

积分

中级会员

积分
313
发表于 2025-4-6 03:01:59 | 显示全部楼层
王*** 发表于 2025-4-5 07:47
我修改了一下例程,现在应该可以了,需要将EEPROM绑定函数放到程序最开始。

可以参考我的设置,我给通 ...

成功了,发现问题所在了,如果绑定在时间中断之前就可以正常使用如代码1,,但是绑定在之后就会卡死,如代码2.不知道你们会不会出现这种情况

点评

您好,目前已定位问题为多次初始化导致的问题,现已修复完成 经测试,定时器操作函数在EEPROM操作函数之前也没有问题了 [attachimg]91801[/attachimg] 更新后的内容详见一楼下载链接和二楼的更新内容  详情 回复 发表于 2025-4-7 11:29
好的我测试一下,看看问题在哪里  详情 回复 发表于 2025-4-6 10:51
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-06-16 10:06:31
已绑定手机
已实名认证

112

主题

2391

回帖

6018

积分

版主

积分
6018
发表于 2025-4-6 10:51:24 | 显示全部楼层
Sky_c*** 发表于 2025-4-6 03:01
成功了,发现问题所在了,如果绑定在时间中断之前就可以正常使用如代码1,,但是绑定在之后就会卡死,如 ...

好的我测试一下,看看问题在哪里
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:173
  • 最近打卡:2025-06-16 08:17:39
已绑定手机

2

主题

82

回帖

246

积分

中级会员

积分
246
发表于 2025-4-6 21:48:27 | 显示全部楼层
希望库不要占用太多资源
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:496
  • 最近打卡:2025-06-17 06:21:11

12

主题

111

回帖

1312

积分

金牌会员

积分
1312
发表于 2025-4-7 09:26:05 | 显示全部楼层
狠人,放假持续更新
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-06-16 10:06:31
已绑定手机
已实名认证

112

主题

2391

回帖

6018

积分

版主

积分
6018
发表于 2025-4-7 11:29:34 | 显示全部楼层
Sky_c*** 发表于 2025-4-6 03:01
成功了,发现问题所在了,如果绑定在时间中断之前就可以正常使用如代码1,,但是绑定在之后就会卡死,如 ...

您好,目前已定位问题为多次初始化导致的问题,现已修复完成

经测试,定时器操作函数在EEPROM操作函数之前也没有问题了
截图202504071129082701.jpg
更新后的内容详见一楼下载链接和二楼的更新日志
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-04-07 16:34:41
已绑定手机

0

主题

2

回帖

14

积分

新手上路

积分
14
发表于 2025-4-7 16:34:41 | 显示全部楼层
第一次用AI8051U的专用库,写了一个点亮LED灯的小程序,P20外接一个共阴极的led,为什么点不亮,咨询下

#include <AI8051U.H>
#include "set_io.h"


void main(void)
{
    EAXFR = 1;        //允许访问拓展寄存器
    WTST = 0;        //设置程序代码等待参数
    CKCON = 0;        //设置外部数据总线速度最快
       
        set_io_mode(pp_mode,Pin20,Pin21,Pin22,Pin23,Pin24,Pin25,Pin26,Pin27,Pin_End);
       
        while(1)
        {
                P20=1;
               
        }
}

点评

可以从以下方面检查: 1.首先确认电路上连接正确,LED的正极是在P20上,共阴极端口接地,最好驱动部分加入限流电阻 2.确认单片机端口是否虚焊,或者提供你的电路图和程序 3.程序上看并没有任何问题,库函数也是都经  详情 回复 发表于 2025-4-7 16:57
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-04-07 16:34:41
已绑定手机

0

主题

2

回帖

14

积分

新手上路

积分
14
发表于 2025-4-7 16:35:50 | 显示全部楼层
锦*** 发表于 2025-4-7 16:34
第一次用AI8051U的专用库,写了一个点亮LED灯的小程序,P20外接一个共阴极的led,为什么点不亮,咨询下

#i ...

烧录和编译都正常
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-06-16 10:06:31
已绑定手机
已实名认证

112

主题

2391

回帖

6018

积分

版主

积分
6018
发表于 2025-4-7 16:57:29 | 显示全部楼层
锦*** 发表于 2025-4-7 16:34
第一次用AI8051U的专用库,写了一个点亮LED灯的小程序,P20外接一个共阴极的led,为什么点不亮,咨询下

#i ...

可以从以下方面检查:
1.首先确认电路上连接正确,LED的正极是在P20上,共阴极端口接地,最好驱动部分加入限流电阻
2.确认单片机端口是否虚焊,或者提供你的电路图和程序
3.程序上看并没有任何问题,库函数也是都经过验证的,主要排查共阴极端口接到哪里了,这部分可以使用万用表测量查看。I/O口默认都是输出1的,不设置的情况下输出0。
4.如果使用了I/O口驱动共阴极端口,那么需要共阴极端口写0才可以输出低电平

如果经过以上步骤排查仍然不行,欢迎再次询问
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-06-16 10:06:31
已绑定手机
已实名认证

112

主题

2391

回帖

6018

积分

版主

积分
6018
发表于 2025-4-15 10:39:20 | 显示全部楼层
协程原理与应用深度讲解-快速掌握多线程


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 15:37 , Processed in 0.144554 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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