打印
[其它应用]

做了个IO口测试程序不正常

[复制链接]
764|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenho|  楼主 | 2019-3-8 15:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
99F226,现在做了个IO口测试程序,不正常,不知哪里设置有误?
沙发
二九结狐六体| | 2019-3-8 15:27 | 只看该作者
帮顶住啊!

使用特权

评论回复
板凳
gongche| | 2019-3-8 15:29 | 只看该作者
程序呢

使用特权

评论回复
地板
chenho|  楼主 | 2019-3-8 15:33 | 只看该作者

楼上速度好快
#include "SH99F226.h"
typedef unsigned char uint8;
typedef unsigned int uint16;



/*
void d_us(uint8 time)
{
while(time--);
}
*/
void delay(uint16 time) //18us
{
uint8 time1;
while(time--)
{
  for(time1=0x10;time1>0;time1--);
}
}
void main(void)
{
delay(0x200);
INSCON&=~0x40; // 选择Bank0 的 SFR
P0CR=0xFF;
P1CR=0xFF;   
P3CR=0xFF;
P4CR=0xFF;
P5CR=0xFF;  
P0PCR=0xFF;
P1PCR=0xFF;   
P3PCR=0xFF;
P4PCR=0xFF;
P5PCR=0xFF;

P0=0xFF;
P1=0xFF;   
P3=0xFF;
P4=0xFF;
P5=0xFF;
/* INSCON|=0x40; // 选择Bank1 的 SFR
P2CR=0xFF;
P2PCR=0xFF;
*/ while(1)
{
  delay(0x200);
  P0^=0xFF;
  P1^=0xFF;   
  P3^=0xFF;
  P4^=0xFF;
  P5^=0xFF;
//  P2^=0x30;
//  P2=0xff;
}
}

使用特权

评论回复
5
wenfen| | 2019-3-8 15:37 | 只看该作者
怎么不正常了

使用特权

评论回复
6
chenho|  楼主 | 2019-3-8 15:40 | 只看该作者


用表测试端口电压,无变化,为“0”V

使用特权

评论回复
7
happy_10| | 2019-3-8 15:45 | 只看该作者
用79F166的做板子测试下更好

使用特权

评论回复
8
zhuhuis| | 2019-3-8 15:49 | 只看该作者
#include "SH88F516.h"


#define DELAY        60000

void gpio_test(void)
{
        unsigned int i;
        while(1)
        {
                P0=P1=P2=P3=P4=0x00;
                for(i=0;i<DELAY;i++);
                P0=P1=P2=P3=P4=0xff;
                for(i=0;i<DELAY;i++);
        }
}
//以上代码我在SH88F516中用过。直接写到MAIN中调用就行了。

使用特权

评论回复
9
chenho|  楼主 | 2019-3-8 15:52 | 只看该作者
先谢过关注,我也已在88F54 板子中测试过如下的程序是正常的

#include "SinoWealth\SH88F54.h"

typedef unsigned char uint8;
typedef unsigned int uint16;

/*
void d_us(uint8 time)
{
        while(time--);
}
*/
void delay(uint16 time)        //18us
{
        uint8 time1;

        while(time--)
        {
                for(time1=0x10;time1>0;time1--);
        }
}

void main(void)
{
        delay(0x200);

/*        P0CR=0xFF;
        P1CR=0xFF;                 
        P3CR=0xFF;
        P4CR=0xFF;
        P0PCR=0xFF;
        P1PCR=0xFF;                 
        P3PCR=0xFF;
        P4PCR=0xFF;
*/        
        P0=0xFF;
        P1=0xFF;                 
        P3=0xFF;
        P4=0xFF;

        while(1)
        {
                delay(0x2000);

                P0^=0xFF;
                P1^=0xFF;                 
                P3^=0xFF;
                P4^=0xFF;
        }
}


只是在226的板子中还未调通,。下午再检查测试。

使用特权

评论回复
10
tian111| | 2019-3-8 15:55 | 只看该作者


看你的 程序,应该是行的呀

使用特权

评论回复
11
chenho|  楼主 | 2019-3-8 15:58 | 只看该作者
程序没问题,已经测试通过。问题竟来自于99F226的工作电压,一开始看其PDF是2-5V的工作电压,所以我用了3V,但MCU竟然工作不了。后来无奈之下单独供电5V,才发现其正常工作。

使用特权

评论回复
12
songqian17| | 2019-3-8 16:01 | 只看该作者
估计是是代码选项的设置LVR

使用特权

评论回复
13
gongche| | 2019-3-8 16:06 | 只看该作者
默认值是4.3V

使用特权

评论回复
14
huwr| | 2019-3-8 16:09 | 只看该作者
我也遇到了这个问题,不过我的电压是5v  现在还是不能控制端口

使用特权

评论回复
15
chenho|  楼主 | 2019-3-8 16:12 | 只看该作者

不知道啊,先结贴了,多谢几位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

748

主题

9853

帖子

5

粉丝