找回密码
 立即注册
查看: 57|回复: 12

问一个与io口配置相关的问题 | 不空想,如实使用

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2025-12-17 06:44:16

2

主题

9

回帖

674

积分

高级会员

积分
674
发表于 前天 21:53 | 显示全部楼层 |阅读模式
懵懵懂懂的自学STC一段时间了,最近试着用8H8K做一个项目,遇到一个很初级的问题,请教各位大神。



我想用整个P3口来控制三极管做输出,代码操作时比较方便。
但是P3.2口我用作了外部中断唤醒掉电模式,准备用P1.5来代替P3.2


能不能这样操作,修改这个程序专用的“STC8H.H”头文件,  把其中的  sbit    P32 = P1^5; sbit    P15 = P3^2;

然后整个P3口正常操作, P15(实际是 P3^2)来作外部中断。


PCB板还没做,如果方案可行,我就开始准备PCB了。


2025-12-15_214302.png

2025-12-15_214721.png

2025-12-15_214949.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:585
  • 最近打卡:2025-12-16 00:57:37

9

主题

560

回帖

3799

积分

论坛元老

积分
3799
发表于 前天 22:32 | 显示全部楼层
这个头文件是共用的,如果把这里改了,牵扯地方太多,可能这个项目能用.但是以后所有项目程序都混乱了.除非你想防抄袭,迷惑敌人用途.
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:189
  • 最近打卡:2025-12-16 08:24:09
已绑定手机

19

主题

541

回帖

1915

积分

金牌会员

积分
1915
发表于 昨天 08:26 | 显示全部楼层
这样搞肯定不好,容易误导,再说头文件改了,哪天重新更新了头文件,程序又乱了
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:25
  • 最近打卡:2025-12-16 08:39:56

8

主题

37

回帖

798

积分

高级会员

积分
798
发表于 昨天 08:39 | 显示全部楼层
P3就是P3.0~P3.7,不会因为你的代码P3.2变成其它了
微信qsssuv
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:646
  • 最近打卡:2025-12-17 07:25:27
已绑定手机

93

主题

6933

回帖

1万

积分

超级版主

积分
13010
发表于 昨天 08:42 | 显示全部楼层
修改名称替换IO后只能当普通IO口用,除此之外用不了任何外设功能
P32是外部中断是硬件决定的,无法修改
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:583
  • 最近打卡:2025-12-16 08:55:36

33

主题

2769

回帖

6230

积分

论坛元老

积分
6230
发表于 昨天 09:06 | 显示全部楼层
这样改并不能实现你的想法。

如果想在别的引脚实现外部中断功能你可以看看手册里 IO中断的章节。
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:345
  • 最近打卡:2025-12-16 09:20:58

11

主题

360

回帖

671

积分

高级会员

积分
671
发表于 昨天 09:29 | 显示全部楼层
如果独一家专利技术可以这么做,并且你是老总
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:22
  • 最近打卡:2025-12-16 10:58:38
已绑定手机

1

主题

43

回帖

171

积分

注册会员

积分
171
发表于 昨天 10:58 | 显示全部楼层
你只是给它们改了名称,它们本身的功能并未改变。
对P3赋值仍会操作原本的P32。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2025-12-17 06:44:16

2

主题

9

回帖

674

积分

高级会员

积分
674
发表于 昨天 15:12 | 显示全部楼层
STC8H.H头文件,可以复制出来放到工程里面,专门这个工程用啊,为什么不行呢?头文件里的  sbit    P32 = P1^5; sbit    P15 = P3^2;
不是只定义了引脚吗?我用外部中断,还是用的物理上实际的 P3^2引脚啊,只不过定义成了P51,不是一样吗?
P1^5定义成P32后,操作整个P3口,不行吗?

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2025-12-17 06:44:16

2

主题

9

回帖

674

积分

高级会员

积分
674
发表于 昨天 15:16 | 显示全部楼层
Debu*** 发表于 2025-12-16 08:42
修改名称替换IO后只能当普通IO口用,除此之外用不了任何外设功能
P32是外部中断是硬件决定的,无法修改 ...

我还是用P3^2的物理引脚啊,这个引脚连接中断的元件,只不过在代码中写成P51,头文件中定义改成sbit    P15 = P3^2;为什么不行啊?
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-17 07:44 , Processed in 0.116714 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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