找回密码
 立即注册
楼主: manzunzu

8H/8G/8C/8A系列4组串口同时通信的程序,Modbus 演示程序;可共享T2做波特率发生器

 火.. [复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-5-15 21:13:40 | 显示全部楼层
jw*** 发表于 2024-5-15 21:02
我刚才测试了一下,使用内部上拉cpu也工作了,但是我还有个疑问,上电时我不加上拉,内部也不上拉,端口 ...

上电时,还没有运行你的用户程序,你的程序做什么操作都无关,因为还没有运行。
上电时,P3.2是高阻,状态不确定,读到可能是高,也可能是低。所以,一定要外接上拉电阻。
USB接充电器时,D+ D-是对地接有电阻的,哟经下拉动作,如果此时P3.2也是低电平,则MCU自动进入USB下载模式。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-5-15 21:16:04 | 显示全部楼层
梁*** 发表于 2024-5-15 21:13
上电时,还没有运行你的用户程序,你的程序做什么操作都无关,因为还没有运行。
上电时,P3.2是高阻,状 ...

这下明白了,谢谢梁工!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-5-16 21:59:36 | 显示全部楼层
梁*** 发表于 2024-5-15 21:13
上电时,还没有运行你的用户程序,你的程序做什么操作都无关,因为还没有运行。
上电时,P3.2是高阻,状 ...

梁工,还得麻烦你下,我现在用试验箱也出现这种问题了,还是插电脑usb能运行,插充电头不能运行
  1. #include "stc32g.h"
  2. #include "stc32_stc8_usb.h"
  3. char *USER_DEVICEDESC = NULL;
  4. char *USER_PRODUCTDESC = NULL;
  5. char *USER_STCISPCMD = "@STCISP#";
  6. void Delay500ms(void)        //@11.0592MHz
  7. {
  8.         unsigned long edata i;
  9.         _nop_();
  10.         _nop_();
  11.         i = 1382398UL;
  12.         while (i) i--;
  13. }
  14. void main()
  15. {
  16.          WTST= 0;
  17.          CKCON= 0;
  18.          EAXFR= 1;       
  19. //    P_SW2 |= 0x80;
  20.    
  21.     P0M1 = 0x00;   P0M0 = 0x00;
  22.     P1M1 = 0x00;   P1M0 = 0x00;
  23.     P2M1 = 0x00;   P2M0 = 0x00;
  24.     P3M1 = 0x00;   P3M0 = 0x00;
  25.     P4M1 = 0x00;   P4M0 = 0x00;
  26.     P5M1 = 0x00;   P5M0 = 0x00;
  27.     P6M1 = 0x00;   P6M0 = 0x00;
  28.     P7M1 = 0x00;   P7M0 = 0x00;
  29.     P3M0 &= ~0x03;
  30.     P3M1 |= 0x03;
  31.     P3PU = 0x04;
  32.     IRC48MCR = 0x80;
  33.     while (!(IRC48MCR & 0x01));
  34.    
  35.     USBCLK = 0x00;
  36.     USBCON = 0x90;
  37.    
  38.     usb_init();                                     //USB CDC 接口配置
  39.                 EUSB=1;
  40. //    IE2 |= 0x80;                                    //使能USB中断
  41.     EA = 1;
  42.    
  43.     while (DeviceState != DEVSTATE_CONFIGURED);     //等待USB完成配置
  44.                 P40=0;
  45.                 while(1)
  46.                 {
  47.                         Delay500ms();
  48.                         P60=!P60;
  49.                
  50.                 }
  51. //    while (1);
  52. }
  53. /************************************************
  54. 函数功能:USB-CDC串口接收数据的回调函数
  55. 函数描述:回调函数由USB中断在接收到串口数据时自动调用
  56.           回调函数处理完成串口数据后需要返回1
  57. 函数返回:返回1:USB中断服务程序自动完成后续的收尾工作
  58.           返回0:USB会暂停接收串口数据,直到用户自行调用
  59.                  usb_OUT_done()函数后USB才会重新恢复接收数据
  60. 注意事项:当函数返回1时用户无需调用usb_OUT_done()
  61.           只有返回0时才需要调用usb_OUT_done()进行手动收尾
  62.           强烈建议usb_OUT_callback返回1
  63. ************************************************/
  64. BOOL usb_OUT_callback()
  65. {
  66.     USB_SendData(UsbOutBuffer,OutNumber);           //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
  67.    
  68.     return 1;
  69. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-5-16 22:01:01 | 显示全部楼层
本帖最后由 jwd 于 2024-5-16 22:04 编辑
梁*** 发表于 2024-5-15 21:13
上电时,还没有运行你的用户程序,你的程序做什么操作都无关,因为还没有运行。
上电时,P3.2是高阻,状 ...

我用的是stc32的9.6试验箱,请问还有那里需要设置吗?

点评

试验箱已经考虑好了这些问题。  详情 回复 发表于 2024-5-16 23:07
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-5-16 23:07:16 | 显示全部楼层
jw*** 发表于 2024-5-16 22:01
我用的是stc32的9.6试验箱,请问还有那里需要设置吗?

试验箱已经考虑好了这些问题。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-5-16 23:14:53 | 显示全部楼层
梁*** 发表于 2024-5-16 23:07
试验箱已经考虑好了这些问题。

那我这个现象是怎么出来的呢?

点评

按理不应该出现这个现象的,学习板的用户群非常大,没人遇到过,我也没听说过。 既然是学习板,你测试一个STC的例程看看,比如数码管显示的。  详情 回复 发表于 2024-5-16 23:18
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-5-16 23:18:29 | 显示全部楼层
jw*** 发表于 2024-5-16 23:14
那我这个现象是怎么出来的呢?

按理不应该出现这个现象的,学习板的用户群非常大,没人遇到过,我也没听说过。
既然是学习板,你测试一个STC的例程看看,比如数码管显示的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-5-16 23:27:05 | 显示全部楼层
本帖最后由 jwd 于 2024-5-16 23:30 编辑
梁*** 发表于 2024-5-16 23:18
按理不应该出现这个现象的,学习板的用户群非常大,没人遇到过,我也没听说过。
既然是学习板,你测试一 ...

我现在就用试验箱闪烁P60的那个灯,插电脑USB正常闪烁,插充电头就不亮jwd:


00a50be4f90c01455faa6ab1f293b174.jpg

00a50be4f90c01455faa6ab1f293b174.mp4

2.41 MB, 下载次数: 120

点评

STC32G学习板V9.6版本程序,直接下载“01.1-用P6口做跑马灯-入门版”或“01.2-用P6口做跑马灯”,不管使用电脑USB供电还是用充电器充电,均正常,所以真不知道你是什么情况了。  详情 回复 发表于 2024-5-17 10:56
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-5-16 23:33:06 | 显示全部楼层
梁*** 发表于 2024-5-16 23:18
按理不应该出现这个现象的,学习板的用户群非常大,没人遇到过,我也没听说过。
既然是学习板,你测试一 ...

工程文件

stc32g_cdc_interrupt_demo (2).zip

84.86 KB, 下载次数: 106

点评

你这个程序是USB-CDC程序,有USB通信,必须使用电脑USB才行,用充电器供电没有USB通信的。  详情 回复 发表于 2024-5-17 10:57
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-05-02 08:50:57
已绑定手机

0

主题

6

回帖

1394

积分

金牌会员

积分
1394
发表于 2024-5-17 08:09:55 | 显示全部楼层
学习一下,多谢
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 13:30 , Processed in 0.137016 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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