迷雾漫天 发表于 2023-4-1 13:31:46

keil调试报错,求解答

程序如下:
#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


8H8K64U 发表于 2023-4-3 08:47:36

早上好,马上找工程师来帮您解答

电子DIY小家 发表于 2023-4-3 09:57:21



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



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

迷雾漫天 发表于 2023-4-3 11:19:06

电子DIY小家 发表于 2023-4-3 09:57
测试结果,串口发送123456,123   ,返回max=123没有问题。




我是在keil里面的debug仿真的,手边没有板子{:4_167:}。今天发现,可以用gets()代替scanf(),就没问题了,谢谢解答{:4_196:}

电子DIY小家 发表于 2023-4-3 13:17:24

迷雾漫天 发表于 2023-4-3 11:19
我是在keil里面的debug仿真的,手边没有板子。今天发现,可以用gets()代替scanf(),就没问题了 ...

:funk:你不会还在用软件的debug吧

梁工 发表于 2023-4-3 13:26:26

主函数要有大循环,不需要返回值。
void main(void)
{
      //初始化代码
   while(1)
    {
         //主程序代码
   }

}

迷雾漫天 发表于 2023-4-3 14:15:57

电子DIY小家 发表于 2023-4-3 13:17
:funk:你不会还在用软件的debug吧

是的{:4_167:}

迷雾漫天 发表于 2023-4-3 14:18:43

梁工 发表于 2023-4-3 13:26
主函数要有大循环,不需要返回值。
void main(void)
{


看不太懂{:4_167:}等再精进一段时间再回来试试。我是跟着书上来的QAQ

神农鼎 发表于 2023-4-3 14:26:21

这基础,没人手把手教你,太难了,你跟着本坛冲哥视频学,1周学会32位8051


【新提醒】在这看32位8051教学视频,送屠龙刀-STC32G12K128核心功能实验板 - 开源广场及教学视频交流 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

迷雾漫天 发表于 2023-4-3 17:50:10

神农鼎 发表于 2023-4-3 14:26
这基础,没人手把手教你,太难了,你跟着本坛冲哥视频学,1周学会32位8051




多谢,自学确实有些许吃力
页: [1]
查看完整版本: keil调试报错,求解答