找回密码
 立即注册
楼主: 神农鼎

0.99元USB, 8H2K08U, 144MHz-PWM硬件移相, 51全面进入USB时代

 火.. [复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:188
  • 最近打卡:2025-05-05 13:38:47

20

主题

117

回帖

764

积分

高级会员

积分
764
发表于 2024-1-8 07:26:35 | 显示全部楼层
本帖最后由 Mr_LG 于 2024-1-8 07:29 编辑

再问问:STC8H2K08(含17)有出"T"版的计划吗?还想用DMA啊!
因为,有了硬件奇偶校验,串口才可能实现9位模式下的DMA自动传送。

点评

这个功能以后再增加,没同步跟上,后续芯片都会有  详情 回复 发表于 2024-1-8 17:05
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-08-06 08:18:56

765

主题

1万

回帖

1万

积分

管理员

积分
18495
发表于 2024-1-8 08:57:16 | 显示全部楼层
硬件奇偶校验用 DMA, 有 STC32G12K128, STC32G8K64
===后续的串口1/2都会支持硬件奇偶校验


点评

现在(1/4)的手册上海没提及。  发表于 2024-1-8 10:10
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-08-06 08:18:56

765

主题

1万

回帖

1万

积分

管理员

积分
18495
发表于 2024-1-8 17:05:43 | 显示全部楼层
Mr_*** 发表于 2024-1-8 07:26
再问问:STC8H2K08(含17)有出"T"版的计划吗?还想用DMA啊!
因为,有了硬件奇偶校验,串口才可能实现9位模 ...

这个功能以后再增加,没同步跟上,后续新设计都会有

点评

OK!  发表于 2024-1-8 20:09
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:37
  • 最近打卡:2024-02-12 10:15:24

2

主题

41

回帖

157

积分

注册会员

积分
157
发表于 2024-1-8 23:09:27 来自手机 | 显示全部楼层
必须支持
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:188
  • 最近打卡:2025-05-05 13:38:47

20

主题

117

回帖

764

积分

高级会员

积分
764
发表于 2024-1-10 07:01:23 | 显示全部楼层

关于8H08U系列的串口新功能

本帖最后由 Mr_LG 于 2024-1-10 07:02 编辑

这两天节奏有点迟缓啊,不见动静?难道干脆在改进硬件?那就大惊喜了!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2025-08-06 09:08:34
已绑定手机

44

主题

2143

回帖

7457

积分

论坛元老

积分
7457
发表于 2024-1-10 09:41:44 | 显示全部楼层
本帖最后由 乘风飞扬 于 2024-3-22 15:56 编辑

STC8H2K08U串口超时中断演示例程

串口1超时中断寄存器配置:
  1.     UR1TOCR = 0xC0; //开启超时中断,SCALE(bit5) = 0:使用波特率bit时钟周期; 1:使用系统时钟周期
  2.     UR1TOTL = 0x80; //设置超时时间:128个位时钟周期=(1000000/115200)*128us
  3.     UR1TOTH = 0x00;
  4.     UR1TOTE = 0x00; //写完TE超时时间才会生效
复制代码

串口2超时中断寄存器配置:
  1.     UR2TOCR = 0xE0; //开启超时中断,SCALE(bit5) = 0:使用波特率bit时钟周期; 1:使用系统时钟周期
  2.     UR2TOTL = 0xE0; //0xABE0 = 44000, 超时时间 = 系统时钟周期 * 44000
  3.     UR2TOTH = 0xAB;
  4.     UR2TOTE = 0x00; //写完TE超时时间才会生效
复制代码

串口1中断函数处理:
  1. void UART1_int (void) interrupt 4
  2. {
  3.     if(RI)
  4.     {
  5.         RI = 0;
  6.         RX1_Buffer[RX1_Cnt] = SBUF;
  7.         if(++RX1_Cnt >= UART1_BUF_LENGTH)   RX1_Cnt = 0;
  8.     }
  9.     if(TI)
  10.     {
  11.         TI = 0;
  12.         B_TX1_Busy = 0;
  13.     }
  14.     if(UR1TOSR & 0x01)  //判定是否产生超时中断
  15.     {
  16. //        P37 = !P37;
  17.         B_RX1_OK = 1;
  18.         UR1TOSR = 0x80; //设置 RTOCF 清除超时标志位 TOIF
  19.     }
  20. }
复制代码

串口2中断函数处理:
  1. void UART2_int (void) interrupt 8
  2. {
  3.     if((S2CON & 1) != 0)
  4.     {
  5.         S2CON &= ~1;    //Clear Rx flag
  6.         RX2_Buffer[RX2_Cnt] = S2BUF;
  7.         if(++RX2_Cnt >= UART2_BUF_LENGTH)   RX2_Cnt = 0;
  8.     }
  9.     if((S2CON & 2) != 0)
  10.     {
  11.         S2CON &= ~2;    //Clear Tx flag
  12.         B_TX2_Busy = 0;
  13.     }
  14.     if(UR2TOSR & 0x01)  //判定是否产生超时中断
  15.     {
  16. //        P36 = !P36;
  17.         B_RX2_OK = 1;
  18.         UR2TOSR = 0x80; //设置 RTOCF 清除超时标志位 TOIF
  19.     }
  20. }
复制代码

参考例程: STC8H2K08U串口1串口2-超时中断与电脑收发测试-20240322.zip (15.43 KB, 下载次数: 717)

点评

(接楼下:)故只能使用1uS时钟。所以万望下次正式推出时增加移位时钟为超时计数单位!!  发表于 2024-1-29 20:32
最近正式使用串口接收超时。原想用系统时钟更精准(如:22118400/115200=192,是整数)。可遇到9600bps就翻车了:22118400/9600=2304,再乘35bit时超出16位了!  发表于 2024-1-29 20:30
谢谢!你哪来的头文件?  发表于 2024-1-10 11:05
及时雨啊!马上来试!  发表于 2024-1-10 10:36
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:483
  • 最近打卡:2025-08-06 09:08:34
已绑定手机

44

主题

2143

回帖

7457

积分

论坛元老

积分
7457
发表于 2024-1-10 13:13:59 | 显示全部楼层
使用例程包里面配套的头文件。
在原STC8H.h头文件基础上添加STC8H2K08U特有的寄存器定义。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:188
  • 最近打卡:2025-05-05 13:38:47

20

主题

117

回帖

764

积分

高级会员

积分
764
发表于 2024-1-10 15:03:13 | 显示全部楼层
赞一个!继续,坐等硬件奇偶校验啦。

点评

暂时只有接收的 硬件校验,没有发送的,等以后新产品  详情 回复 发表于 2024-1-10 15:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-08-06 08:18:56

765

主题

1万

回帖

1万

积分

管理员

积分
18495
发表于 2024-1-10 15:12:51 | 显示全部楼层
Mr_*** 发表于 2024-1-10 15:03
赞一个!继续,坐等硬件奇偶校验啦。


截图202401101513556430.jpg


暂时只做了 接收的 硬件奇偶校验,漏了发送的,
就不讲有了,这个新功能-
硬件奇偶校验,等以后新产品再有
===其实一般都是 CRC 校验


点评

哦,知道了。  发表于 2024-1-10 18:47
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:188
  • 最近打卡:2025-05-05 13:38:47

20

主题

117

回帖

764

积分

高级会员

积分
764
发表于 2024-1-10 18:53:55 | 显示全部楼层
盼望硬件奇偶校验的原因:
1,有些485通信协议的产品,上位机被”规定“为”奇“或”偶“校验;
2,又想动用DMA传送,此时没有硬件自动奇偶校验,就不能发挥DMA的全部优势(还得每个字节响应接收中断)!
3,我有个应用同,需要借第9位来标识字节流的序号的奇偶性。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-7 05:31 , Processed in 0.135980 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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