找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1716|回复: 16
收起左侧

单片机定义P4端口的定义不被认可?

[复制链接]
ID:965189 发表于 2022-12-30 09:07 | 显示全部楼层 |阅读模式
用STC15F60S2,有几个端口如果定义是P2,可以通过,定义P4就不能通过。
回复

使用道具 举报

ID:996773 发表于 2022-12-30 15:39 | 显示全部楼层
只能间接操作p4口相对应的寄存器,不能直接定义p4
回复

使用道具 举报

ID:879348 发表于 2022-12-30 15:57 | 显示全部楼层
怎么可能,应该是你的头文件缺少P4寄存器定义
回复

使用道具 举报

ID:814525 发表于 2022-12-30 16:19 | 显示全部楼层
应该是楼上说的那样!
回复

使用道具 举报

ID:195496 发表于 2022-12-30 17:34 | 显示全部楼层
要先用sfr 定义一下
回复

使用道具 举报

ID:624769 发表于 2022-12-30 19:59 来自手机 | 显示全部楼层
因为你没用stc15的头文件。
回复

使用道具 举报

ID:155507 发表于 2022-12-30 20:10 | 显示全部楼层
要先用sfr 定义一下

sfr P4   = 0xC0;
sbit P40 = P4^0;
sbit P41 = P4^1;
sbit P42 = P4^2;
sbit P43 = P4^3;
sbit P44 = P4^4;
sbit P45 = P4^5;
sbit P46 = P4^6;
sbit P47 = P4^7;
回复

使用道具 举报

ID:1059846 发表于 2022-12-30 22:05 | 显示全部楼层
缺少定义。
回复

使用道具 举报

ID:965189 发表于 2022-12-30 23:36 | 显示全部楼层
多谢各位回答。已经解决了。要先定义sfr P4=0xe8;之后再定义P4^n.
回复

使用道具 举报

ID:195496 发表于 2022-12-31 08:41 | 显示全部楼层
添加一个官方头文件就可以
回复

使用道具 举报

ID:155507 发表于 2022-12-31 09:40 | 显示全部楼层
君工创 发表于 2022-12-30 23:36
多谢各位回答。已经解决了。要先定义sfr P4=0xe8;之后再定义P4^n.

为什么是0xe8? 这个是定义 P6 的啊
回复

使用道具 举报

ID:155507 发表于 2022-12-31 09:48 | 显示全部楼层
君工创 发表于 2022-12-30 23:36
多谢各位回答。已经解决了。要先定义sfr P4=0xe8;之后再定义P4^n.


为什么会是 定义sfr P4=0xe8 ?
STC15Fxx.jpg




回复

使用道具 举报

ID:965189 发表于 2022-12-31 11:22 | 显示全部楼层
试过了,0xe8,0xc0.都可以过。
回复

使用道具 举报

ID:624769 发表于 2022-12-31 16:07 来自手机 | 显示全部楼层
君工创 发表于 2022-12-31 11:22
试过了,0xe8,0xc0.都可以过。

你要这么说的话,unsigned char bdata P4;  之后,再sbit 也可以过,你何苦sfr ?
回复

使用道具 举报

ID:1034262 发表于 2022-12-31 16:26 | 显示全部楼层
君工创 发表于 2022-12-31 11:22
试过了,0xe8,0xc0.都可以过。

你定义为0x80~0xff编译都可以通过的。
回复

使用道具 举报

ID:965189 发表于 2022-12-31 22:35 | 显示全部楼层
多谢各位指正,P4=0xc0,才是正确的。
回复

使用道具 举报

ID:57657 发表于 2023-1-1 08:40 | 显示全部楼层
angmall 发表于 2022-12-31 09:40
为什么是0xe8? 这个是定义 P6 的啊

不同系列的部分sfr地址可能会不一样,不能乱用其他系列的头文件。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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