找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 374|回复: 11
打印 上一主题 下一主题
收起左侧

求助,stc8g1k08a 写代码问题

  [复制链接]
跳转到指定楼层
楼主
ID:1168839 发表于 2026-3-26 18:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stc8g1k08a   我让AI给我写了好多代码都不好使  不知道为什么?、
我就是想 让5.5 按一个开关 短按一下控制 3.2 开关

5.5 长按 按住3秒 控制3.3 开关

我让ai 给我写了一下午 也没有一个能好使的。 不知道为什么  求大神帮帮我
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:102168 发表于 2026-3-26 22:31 | 只看该作者
你应该先去看看STC样册,然后官方提供样例代码很多的,AI对STC单片机的了解估计还不够。还有用AI写代码别指望它能一字不差,你自己要有点基础,能看懂,能找到问题。
回复

使用道具 举报

板凳
ID:654797 发表于 2026-3-27 06:46 | 只看该作者
AI也是须要学习的,在还没完全了解STC单片机的情况下,它也写不好
回复

使用道具 举报

地板
ID:1133081 发表于 2026-3-27 07:55 | 只看该作者
可能是因为没有设置端口模式,芯片加电默认P3.0、3.1准双向模式,其他端口默认高阻模式。
  1. #include <STC8G.H>
  2. #define d 10//10ms
  3. #define c 300*d//3s

  4. sbit key =P5^5;
  5. sbit LED1=P3^2;
  6. sbit LED2=P3^3;

  7. unsigned int cnt=0;
  8. bit flag;//标志

  9. void Timer0_Init(void)                //1毫秒@11.0592MHz
  10. {
  11.         AUXR |= 0x80;                        //定时器时钟1T模式
  12.         TMOD &= 0xF0;                        //设置定时器模式
  13.         TL0 = 0xCD;                                //设置定时初始值
  14.         TH0 = 0xD4;                                //设置定时初始值
  15.         TF0 = 0;                                //清除TF0标志
  16.         TR0 = 1;                                //定时器0开始计时
  17.         ET0 = 1;                                //使能定时器0中断
  18.         EA=1;
  19. }

  20. void main()                              
  21. {
  22.         P1M0 = 0x00;P1M1 = 0x00;
  23.         P3M0 = 0x00;P3M1 = 0x00;//P3端口模式准双向
  24.         P5M0 = 0x00;P5M1 = 0x00;//P5端口模式准双向        
  25.         Timer0_Init();
  26.         while(1)
  27.         {
  28.                 if(flag)
  29.                 {
  30.                         flag=0;
  31.                         if(key)
  32.                         {  
  33.                                 if(cnt>d && cnt<c)//短按
  34.                                 LED1=~LED1;
  35.                                 cnt=0;
  36.                         }   
  37.                         else   
  38.                         {  
  39.                                 cnt++;  
  40.                                 if( cnt==c )      //长按
  41.                                 LED2=~LED2;
  42.                                 if( cnt>c  )
  43.                                 cnt=c+1;   
  44.                         }  
  45.                 }
  46.         }
  47. }

  48. void Timer0_Isr(void) interrupt 1
  49. {
  50.         flag=1;
  51. }
复制代码



回复

使用道具 举报

5#
ID:1064915 发表于 2026-3-27 08:10 | 只看该作者
也是个AI发帖
回复

使用道具 举报

6#
ID:1107340 发表于 2026-3-27 08:37 | 只看该作者
AI对STC单片机的了解还不够。
回复

使用道具 举报

7#
ID:996773 发表于 2026-3-27 08:43 | 只看该作者
我也让ai写过代码,冷门器件的读地址明显就是错的,它也不说自己不知道,硬是胡编乱造编像真的一样,
ai写代码有的能用,但要提防它有错的,也不知道它哪学来的错误的环节
回复

使用道具 举报

8#
ID:526108 发表于 2026-3-27 09:03 | 只看该作者
别人的代码只能参考,不要直接使用
回复

使用道具 举报

9#
ID:829223 发表于 2026-3-27 11:20 | 只看该作者
用AI前提你得有点基础
回复

使用道具 举报

10#
ID:16255 发表于 2026-3-27 22:32 | 只看该作者
hi等你 发表于 2026-3-27 08:43
我也让ai写过代码,冷门器件的读地址明显就是错的,它也不说自己不知道,硬是胡编乱造编像真的一样,
ai写 ...

我也试过问AI,一些电路如何选型,如何设计电路,结果他说了一堆话,芯片有些什么功能,布线注意些什么规则之类的。好像真有那么一回事似的,结果一查芯片的数据手册,发现他说的大多是错的。
回复

使用道具 举报

11#
ID:1146155 发表于 2026-3-31 08:39 来自触屏版 | 只看该作者
ai写的就是一坨,最后还是自己写
回复

使用道具 举报

12#
ID:1034262 发表于 2026-3-31 09:50 | 只看该作者
初学者依赖AI是错误的,哪怕是我们这种做了几十年单片机的,AI的程序还是要仔细分析甄别,好多都有错误,主要是参考其思维逻辑。
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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