rainbow 发表于 2024-5-23 14:27:14

STM32F103ZET6-96个IO中断应用讨论【标题不合格】

GPIO_EXTI0-15只能同事选中一组PORT,要其它组PORT使用EXTI功能,是不是只能支持16个IO同时使能引脚中断功能?
有经验的大神一起讨论一下。

AppTurtle 发表于 2024-5-23 15:03:32

是,不过还有很多TIMER输入捕获中断可以用

rainbow 发表于 2024-5-23 16:35:04

AppTurtle 发表于 2024-5-23 15:03
是,不过还有很多TIMER输入捕获中断可以用
(引用自2楼)

全开起来也不到20个,加上16个,还差60来个。

lnso 发表于 2024-5-23 16:40:06

二极管啊与门

lnso 发表于 2024-5-23 16:40:33

想要多少都可以

rainbow 发表于 2024-5-23 16:55:23

lnso 发表于 2024-5-23 16:40
二极管啊与门
(引用自4楼)

触发完了,去读IO,也是一种办法。

boyiee 发表于 2024-5-23 17:14:03

被STM32这种中断方式坑过的路过{:lol:}
基本所有脚可以中断,但不能同时中断。

lb0857 发表于 2024-5-23 17:33:50

数字门扩展中断之后 在读取   

zxq6 发表于 2024-5-23 18:54:53

这么多,为啥不考虑cpld扩展?

ibmx311 发表于 2024-5-23 19:17:55

我就是用cpld扩展的,一片240不算贵,方便太多了。只不过我那个事情成本不太敏感,就坚定不移的使用1270了

lnso 发表于 2024-5-23 20:02:42

boyiee 发表于 2024-5-23 17:14
被STM32这种中断方式坑过的路过
基本所有脚可以中断,但不能同时中断。 ...
(引用自7楼)

还能同时中断?你理解错了吧?

airbox 发表于 2024-5-23 20:09:39

lnso 发表于 2024-5-23 20:02
还能同时中断?你理解错了吧?
(引用自11楼)

你理解错了,他的意思是同时打开所有IO中断,有的IO中断资源是共享的,中断资源给了A,B就无法使用中断

rainbow 发表于 2024-5-23 20:17:45

airbox 发表于 2024-5-23 20:09
你理解错了,他的意思是同时打开所有IO中断,有的IO中断资源是共享的,中断资源给了A,B就无法使用中断 ...
(引用自12楼)

现在决定分开来做了,一个C8,用上EXTI+定时器捕捉,大概25个通道,4片组成一个系统 。

用与门会有问题,全高状态,一个低可以触发一次中断,有高有低时,再有信号转低电平就无法稳定触发了。

lnso 发表于 2024-5-23 21:02:33

rainbow 发表于 2024-5-23 20:17
现在决定分开来做了,一个C8,用上EXTI+定时器捕捉,大概25个通道,4片组成一个系统 。

用与门会有问题 ...
(引用自13楼)

老陈,pi芯片开关电源有没有整过EMC

lnso 发表于 2024-5-23 21:03:51

CE传导余量-3db,公司要求-6db

yuyu87 发表于 2024-5-23 21:09:49

我之前用nxp的,好多引脚都支持中断,在中断里检测io标志,原理不一样

rainbow 发表于 2024-5-24 01:35:35

lnso 发表于 2024-5-23 21:03
CE传导余量-3db,公司要求-6db
(引用自15楼)

发下测试的波形图,看看是哪个频率偏高。

AppTurtle 发表于 2024-5-24 11:56:04

如果要求中断多,可以看看华大 HC32F460系列,我记得好像几乎每个脚都能弄一个中断

dukelec 发表于 2024-5-24 12:27:04

我用 stm32g 系列,多个 io 共享中断,在中断服务函数中判断是哪个 io 触发的中断

rainbow 发表于 2024-5-24 16:47:17

dukelec 发表于 2024-5-24 12:27
我用 stm32g 系列,多个 io 共享中断,在中断服务函数中判断是哪个 io 触发的中断 ...
(引用自19楼)

一次只级分配给16个IO,其它的不会响应。
共享是怎么个共享法?

flash3g 发表于 2024-5-24 20:06:21

rainbow 发表于 2024-5-24 16:47
一次只级分配给16个IO,其它的不会响应。
共享是怎么个共享法?
(引用自20楼)

多个端口用二极管接在一个端口触发中断

rainbow 发表于 2024-5-24 20:34:57

flash3g 发表于 2024-5-24 20:06
多个端口用二极管接在一个端口触发中断
(引用自21楼)

想过了,这个不适合我目前的应用。

陆小凤之北京 发表于 2024-5-27 10:54:35

用CPLD搭一个与门的,再查询就可以了。或者可以直接用扩展IO这种。

陆小凤之北京 发表于 2024-5-27 10:55:41

担心后续再来低电平,就用电平中断。

1a2b3c 发表于 2024-5-27 12:19:20

系统要求多高得响应速度?
ms左右就可以扫描了嘛,除非的确需要1us级别,
而且你考虑你的系统处理性能没有呢,正在中断的时候,新的中断来了咋整?可是有优先别的,你更别说有些人喜欢中断时候关掉别的中断呢

rainbow 发表于 2024-5-27 16:29:38

1a2b3c 发表于 2024-5-27 12:19
系统要求多高得响应速度?
ms左右就可以扫描了嘛,除非的确需要1us级别,
而且你考虑你的系统处理性能没有 ...
(引用自25楼)

8uS分辨率,一个8uS是一个字。

ibmx311 发表于 2024-5-27 16:49:55

扩展一片324脚的EPM2210,想多少外部中断就能有多少,想多快就多快。出售老掉牙CPLD每片800W米元

lb0857 发表于 2024-5-27 17:22:45

rainbow 发表于 2024-5-27 16:29
8uS分辨率,一个8uS是一个字。
(引用自26楼)

103最高72m时钟频率
进出中断耗时平均要10us左右
很难处理了

rainbow 发表于 2024-5-27 17:41:10

本帖最后由 rainbow 于 2024-5-27 19:03 编辑

lb0857 发表于 2024-5-27 17:22
103最高72m时钟频率
进出中断耗时平均要10us左右
很难处理了
(引用自28楼)

现在改思路了,只用exit加定时器捕捉中断,从机一片大概有25个通道可用,主机再统合每通道的数据。走Modbus,还没实际用过Modbus,边学边用。

lb0857 发表于 2024-5-27 19:31:13

rainbow 发表于 2024-5-27 17:41
现在改思路了,只用exit加定时器捕捉中断,从机一片大概有25个通道可用,主机再统合每通道的数据。走Modb ...
(引用自29楼)

捕捉+dma,另外加定时器一秒钟触发dma一次。

armok. 发表于 2024-5-28 06:13:01

“STM32F103ZET6-96个IO中断应用讨论”标题不合格。请自行修正。(注意:主题发出24小时后就不能修改帖子)

帖子标题必须能充分说明帖子的内容。如你要问AVR的ADC如何才能测量得比较准确,“AVR的ADC如何消除干扰测量得比较准确?”是合格的标题。不合格举例:
    1:小女子冰天雪地裸体跪求解决方法
    2:救命啊...
    3:高手请出招,一个无法解决的AVR问题
    4:一个困扰学习单片机初学者,惊动单片机开发者的难题
    5:AVR的ADC测量   (点评:你到底是问问题,或是有技术心得与大家分享?)
页: [1]
查看完整版本: STM32F103ZET6-96个IO中断应用讨论【标题不合格】