STC32G12K128的P4口输出状态不变!
[*]void main(void)
[*]{
[*] WTST = 0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
[*] EAXSFR(); //扩展SFR(XFR)访问使能
[*] CKCON = 0; //提高访问XRAM速度
[*]
[*] P4M0 = 0xff;
[*] P4M1 = 0x00; //P4口设置推挽输出
[*]
[*] while(1)
[*] {
[*] P4 = 0X55;
[*] delay_ms(250);
[*] P4 = 0XAA;
[*] delay_ms(250);
[*] }
[*]}
[*]很简单的一段代码,不管是硬仿真还是软仿真,P4口永远是0,换做其它端口,输出都正常,不知道哪里的BUG?
先用范例程序测试一下 行不行
对照检查一下
测了,现象一摸一样!麻烦您将IO改为P4软仿真测一测,我是试了,原以为硬件问题,后来发现,软仿真也是同样现象,改为其它接口状态就好了! 如果软仿真都有问题,看看你的STC32G预定义是不是有误,或者循环内只保留 P4 = 0X55;这一行,把下面的延时都去掉试试,P4口一直在用没问题 是不是跟建工程的时候选的芯片型号有关 应该是软件环境问题,但还没找到原因!怀疑是keil的问题,我是arm和c51同时用的,版本5.25.3.0,搞了2个机子都是同样问题。郁闷 关注 attach://39317.jpg,重新安装了,问题还是依旧,想问问,stc扩展的P4~P7怎么样在软仿真的debug或设备里都显示出来? 打包一下完整的工程文件看下 EAXSFR(); 这个宏或者函数贴出来,让大伙看一下。