IO口被设置为功能管脚后,是否自动修改了IO口模式
有个疑惑请教一下:STC8系列手册上说默认IO口模式,除了P3.0、P3.1外,其它管脚默认都是高阻输入状态。那么我想知道当管脚启用了串口、SPI、I2C、PWM、INT中的某个功能后,该管脚的IO模式会自动改变吗?如果会的话是改到了什么模式?如果启用了功能后,再配置模式还有效不?希望能得到准确回复,谢谢。
研发放假中,我理解和建议的是
系统初始化时你设置 你需要的I/O工作模式,启动你需要的特殊功能后,他们按你的要求执行!
你可以写出你特殊的需求,我来安排人节后回答,否则测一次,我们要忙一天
自己配置
我现在的精神是不应该主动帮客人改变 I/O模式,
你不知客人的各种应用场景,画蛇添足的事我建议内部少做,
让用户自己配置 I/O 的工作模式是最好的方式
也许是我表达的不够清楚!
按照我的理解,功能分配到管脚,与该管脚的IO的模式配置、上拉电阻配置、驱动电流控制应该还是有效的,且不会变,与功能分配是各自独立的。
我问的问题应该在手册中可以看到答案,但是我只找到了管脚被设置为ADC时,一定要将IO口设置为高阻输入这段描述,说明是各自独立设置的。而其他SPI、I2C等都没有类似的描述。所以我想确认一下。就是想确认IO口的IO配置与功能管脚的配置是否是各自独立的,不会自动改变。
例如我使用的是STC8H8K64U,目的是想提高出口一个串口输出管脚的输出能力。
我是否可以在初始化时将P5.1设置为推挽
然后我将P5.1分配为TxD3_2,这时P5.1是否还是工作在推挽模式?这时我再修改IO模式是否有效,是否影响P5.1的串口输出。
或者说是不是分配为串口输出,但是IO模式设置为高阻输入,串口输出功能就不能正常输出信号了(我知道这个问题听起来好像很幼稚,我也知道正常不会出现这种设置组合,我只是想通过这个说明我要问的问题本质。)
也许会说这可以自己试验一下,的确可以,但是类似功能管脚很多,如果官方有明确的答案,我就不用自己去逐一测试了。如果官方研发人员也要通过逐一测试才能知道答案,那就不必麻烦了。
至于为什么要问这个,我用在我自己的开发工具里,所以知道肯定答案会避免一些错误配置。我期望的也是 地板 贴说的那样,都不会自动改变。
我10年前就不让花蛇添足,奈何提醒了10年,几十号研发人员还是积极主动的来帮用户改变I/O模式,我都头疼
STC8H8K64U, [当管脚启用了串口、SPI、I2C、PWM、INT中的某个功能后,该管脚的IO模式会自动改变吗?]
串口: STC 从来不会帮你改变 I/O 的模式
SPI:STC8H8K64U 不会
I2C:STC8H8K64U 好像不会
PWM:强推挽,据说还是想帮你改成强推挽了,前天开会我又讲了此事,后续新品不要帮改I/O模式
INT口允许外部中断:STC 从来不会帮你改变 I/O 的模式
ADC: STC8H8K64U 不会
这问题不要问了,会造成误会,浪费时间,普通用户高手认为帮好,希望芯片帮他设置,
我这种级别的,认为不因该帮客人改变I/O 模式,客人可以自己改,更好,各能适合各种应用场景
===讲多了普通用户会误会多,好心基本都是好事
===极少数场景是办坏事,他客人就是要开漏,你强制成了 强推挽,他没法玩了,普通用户根本想不到这些场景
https://www.stcaimcu.com/data/attachment/forum/202212/31/142726pmjoytart2jyy8vm.png
本帖最后由 学以致用 于 2022-12-31 15:54 编辑
神农鼎 发表于 2022-12-31 15:41
我10年前就不让花蛇添足,奈何你不提醒,几十号研发人员又积极主动的来帮用户,我都头疼
STC8H8K64U, [当管 ...
感谢答复,看来我还是要将需要的功能自己逐一确认一下。
因为我的工具涉及STC8全系列和STC15主要型号,以及STC32
我是2008年就一直只用STC单片机,对STC有特殊的感情,虽然也用其他单片机,但是首选还是STC
这些年开发总结,还是如您说的那样,不要自动改变为好。如果自动改变了,那就要在手册上明确出来,否则做一些特殊要求的场景,就会常常掉入这个不是坑的坑里
感谢研发人员为单片机开发用户着想,但是这点还是不要为好 赞同,不主动改! 关键研发打血液里,就喜欢帮你做了这个他认为帮你好的,过几年又来帮一遍 很多问题所谓的高手也不能想当然,记得以前用过一款,忘记是stc那一款了,5v供电用的是spi连接3.3v的液晶,端口设置为开漏输出,数据和时钟上拉电阻到3.3,想象完美,但设备用一段时间就损坏,后来查因为设置为spi的端口设置开漏无效。所以理解楼主的担心,我现在用一款新的型号也会有相同的疑问。
页:
[1]
2