找回密码
 立即注册
查看: 1365|回复: 9

keil调试报错,求解答

[复制链接]

该用户从未签到

1

主题

4

回帖

21

积分

新手上路

积分
21
发表于 2023-4-1 13:31:46 | 显示全部楼层 |阅读模式
程序如下:
#include <stdio.h>
#include <reg51.h>
main()
{
        char b;
       
        SCON = 0X52;
        TMOD = 0X20;
        TCON = 0X69;
        TH1 = 0XF3;
       
        printf("please input data of b %d\n");
        scanf("%s",&b);
        printf("b = %s\n",b);
        return 1;
}
在没有scanf函数的时候不会报错;有的话就会报错。
报错如下:
*** error 65: access violation at C:0x0000 : no 'execute/read' permission


回复 送花

使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 42 天

    [LV.5]常住居民I

    10

    主题

    328

    回帖

    1463

    积分

    版主

    积分
    1463
    QQ
    发表于 2023-4-3 08:47:36 | 显示全部楼层
    早上好,马上找工程师来帮您解答
    www.STCAI.com
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 08:01
  • 签到天数: 107 天

    [LV.6]常住居民II

    42

    主题

    1028

    回帖

    7098

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7098
    QQ
    发表于 2023-4-3 09:57:21 | 显示全部楼层
    1.png

    测试结果,串口发送123456,123   ,返回max=123没有问题。

    2.png

    主函数就是这么写的,手边没有别的板子了,就用了个LINK1D+屠龙刀测试的,你可以移植一下到你的工程里试试。

    SCANF测试.rar

    63.83 KB, 下载次数: 45

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    21

    积分

    新手上路

    积分
    21
     楼主| 发表于 2023-4-3 11:19:06 | 显示全部楼层
    电子DIY小家 发表于 2023-4-3 09:57
    测试结果,串口发送123456,123   ,返回max=123没有问题。

    我是在keil里面的debug仿真的,手边没有板子。今天发现,可以用gets()代替scanf(),就没问题了,谢谢解答
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 08:01
  • 签到天数: 107 天

    [LV.6]常住居民II

    42

    主题

    1028

    回帖

    7098

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7098
    QQ
    发表于 2023-4-3 13:17:24 | 显示全部楼层
    迷雾漫天 发表于 2023-4-3 11:19
    我是在keil里面的debug仿真的,手边没有板子。今天发现,可以用gets()代替scanf(),就没问题了 ...

    :funk:你不会还在用软件的debug吧
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3118

    回帖

    7033

    积分

    超级版主

    积分
    7033
    发表于 2023-4-3 13:26:26 | 显示全部楼层
    主函数要有大循环,不需要返回值。
    void main(void)
    {
          //初始化代码
         while(1)
        {
             //主程序代码
         }

    }
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    21

    积分

    新手上路

    积分
    21
     楼主| 发表于 2023-4-3 14:15:57 | 显示全部楼层
    电子DIY小家 发表于 2023-4-3 13:17
    :funk:你不会还在用软件的debug吧

    是的
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    21

    积分

    新手上路

    积分
    21
     楼主| 发表于 2023-4-3 14:18:43 | 显示全部楼层
    梁工 发表于 2023-4-3 13:26
    主函数要有大循环,不需要返回值。
    void main(void)
    {

    看不太懂等再精进一段时间再回来试试。我是跟着书上来的QAQ
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    557

    主题

    9694

    回帖

    1万

    积分

    管理员

    积分
    14160
    发表于 2023-4-3 14:26:21 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    回帖

    21

    积分

    新手上路

    积分
    21
     楼主| 发表于 2023-4-3 17:50:10 | 显示全部楼层
    神农鼎 发表于 2023-4-3 14:26
    这基础,没人手把手教你,太难了,你跟着本坛冲哥视频学,1周学会32位8051

    多谢,自学确实有些许吃力
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-1 12:20 , Processed in 0.070953 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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