找回密码
 立即注册
查看: 1142|回复: 15

ISP又发现个小问题

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-12 11:44:58

14

主题

39

回帖

304

积分

中级会员

积分
304
发表于 2024-4-7 11:19:02 | 显示全部楼层 |阅读模式

下面本来是想做成下载字库的功能,除了第一次启动外试验总是不成功,
经摸索发现似乎进入这个功能后没有清除接收缓存,导致不听指挥。
截图202404071112271548.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:512
  • 最近打卡:2025-05-01 09:14:27

21

主题

564

回帖

2674

积分

金牌会员

积分
2674
发表于 2024-4-7 13:35:43 | 显示全部楼层
高手这都能发现原因
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-4-7 14:52:40 | 显示全部楼层
这个界面在STC-ISP中吗?还真没用过
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:518
  • 最近打卡:2025-05-01 05:52:49
已绑定手机

46

主题

1694

回帖

2540

积分

金牌会员

积分
2540
发表于 2024-4-7 15:24:45 | 显示全部楼层
21cns*** 发表于 2024-4-7 14:52
这个界面在STC-ISP中吗?还真没用过

在发送文件那个选项,我反正是从来没有用过
截图202404071524213949.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2024-4-7 18:29:55 | 显示全部楼层
本帖最后由 zhp 于 2024-4-7 18:31 编辑


功能测试没问题
下面是我的测试代码
  1. #include "stc8h.h"
  2. #include "intrins.h"
  3. #include "stdio.h"
  4. #define FOSC        11059200UL
  5. #define BAUD        (65536 - FOSC/4/115200)
  6. #define T1MS        (65536 - FOSC/1000)
  7. void send_request();
  8. int recv_data(char *buf, int n);
  9. void process_data(char *buf, int n);
  10. char timeout;                       //接收超时计时器
  11. char xdata buf[256];                //数据接收缓冲区
  12. void main()
  13. {
  14.     long len;
  15.     int cnt;
  16.    
  17.     P0M0 = 0x00;
  18.     P0M1 = 0x00;
  19.     P1M0 = 0x00;
  20.     P1M1 = 0x00;
  21.     P2M0 = 0x00;
  22.     P2M1 = 0x00;
  23.     P3M0 = 0x00;
  24.     P3M1 = 0x00;
  25.    
  26.     SCON = 0x52;
  27.     TMOD = 0x00;
  28.     AUXR = 0xc0;
  29.     TL0 = T1MS;                     //定时器0为1ms中断
  30.     TH0 = T1MS >> 8;
  31.     TR0 = 1;
  32.     TL1 = BAUD;                     //定时器1为串口波特率发生器
  33.     TH1 = BAUD >> 8;
  34.     TR1 = 1;
  35.     ET0 = 1;
  36.     EA = 1;
  37.    
  38.     printf("start ...\n");
  39.    
  40.     send_request();                 //发送数据请求命令
  41.     recv_data((char *)&len, 4);     //获取数据长度
  42.    
  43.     while (len > 0)
  44.     {
  45.         cnt = (len > 256 ? 256 : len);
  46.         
  47.         send_request();             //发送数据请求命令
  48.         recv_data(buf, cnt);        //获取数据包
  49.         process_data(buf, cnt);     //处理接收的数据
  50.         
  51.         len -= cnt;
  52.     }
  53.    
  54.     printf("Completed !\n");
  55.    
  56.     while (1);
  57. }
  58. void tm0_isr() interrupt 1
  59. {
  60.     if (timeout)
  61.         timeout--;
  62. }
  63. void send_request()
  64. {
  65.     putchar(0xff);
  66.     putchar(0x57);
  67.     putchar(0x41);
  68.     putchar(0x56);
  69. }
  70. int recv_data(char *buf, int n)
  71. {
  72.     int i;
  73.     int err;
  74.    
  75.     err = 0;
  76.     for (i = 0; i < n; i++)
  77.     {
  78.         timeout = 50;               //超时处理
  79.         while (!RI)
  80.         {
  81.             if (!timeout)
  82.             {
  83.                 P0++;
  84.                 err++;
  85.                 break;
  86.             }
  87.         }
  88.         RI = 0;
  89.         buf[i] = SBUF;
  90.     }
  91.    
  92.     return (n - err);
  93. }
  94. void process_data(char *buf, int n)
  95. {
  96.                                     //处理接收的数据
  97.     while (n--)
  98.         ACC = *buf++;
  99. }
复制代码
截图202404071826387490.jpg


注意:
应答式发送模式:一定是先点击界面上面的发送数据,然后才给目标单片机上电发送数据请求
自动连续发送模式:先给目标单片机上电,后点击界面上的发送数据

如果顺序弄反了,那一定是不听指挥的。这里面和串口清不清接缓存没关系




回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-04-29 14:15:11

6

主题

33

回帖

596

积分

高级会员

积分
596
发表于 2024-4-8 08:45:56 | 显示全部楼层
能不能集成多种文件传输协议?特别是Xmode和Ymode
微信截图_20240408084447.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-01 20:16:58
已绑定手机

229

主题

328

回帖

1471

积分

金牌会员

积分
1471
发表于 2024-4-8 09:35:26 | 显示全部楼层
J}(QM2WYFT]Q9RD6~F%%1~B.png


抄的我这款软件 - 数据分发器
包括字库生成软件,我做啥STC就会抄啥

点评

数据分包发送?这不是isp软件n多年前就有了吗,这玩意有啥抄不抄的,你只要提需求,stc啥都能做,字库也是有人提了需求他做的,什么串口绘图,lcd虚拟显示都是有人提了需求他们独立开发的  详情 回复 发表于 2024-4-8 13:48
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:518
  • 最近打卡:2025-05-01 05:52:49
已绑定手机

46

主题

1694

回帖

2540

积分

金牌会员

积分
2540
发表于 2024-4-8 10:20:20 | 显示全部楼层
QQ6243*** 发表于 2024-4-8 09:35
抄的我这款软件 - 数据分发器
包括字库生成软件,我做啥STC就会抄啥

你让stc给你入股
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-4-8 12:54:24 来自手机 | 显示全部楼层
虹涛犹珷 发表于 2024-4-8 08:45
能不能集成多种文件传输协议?特别是Xmode和Ymode

这个可以有,stm32可以ymoden协议iap
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

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

积分
8058
QQ
发表于 2024-4-8 13:48:35 | 显示全部楼层
QQ6243*** 发表于 2024-4-8 09:35
抄的我这款软件 - 数据分发器
包括字库生成软件,我做啥STC就会抄啥

数据分包发送?这不是isp软件n多年前就有了吗,这玩意有啥抄不抄的,你只要提需求,stc啥都能做,字库也是有人提了需求他做的,什么串口绘图,lcd虚拟显示都是有人提了需求他们独立开发的

点评

嗯 顶多代码是东拼西凑的,到问题不大,,  发表于 2024-4-10 09:15
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:31 , Processed in 0.392113 second(s), 130 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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