3147|5

965

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

DSPIC30F不仿真时读到的IO口电平一直是0 [复制链接]

最近在用DSPIC30F做一项目,其中用到了独立键盘,UART和CAN,还有一个模拟IIC按口的240*128的点阵,
遇到一个很奇怪的问题,如果我进入仿真状态,程序可以正常运行,读到PB口的值为0x3f(PB0~PB5接了6个按键,上拉),按下后相应位为0,UART和CAN和点阵也都可以正常使用,但我退出仿真后UART和CAN可以正常使用,接键读到的值一直是0,可是我明明是上拉的啊,万用表测量也是5V啊,屏也不亮了



#include
#include "uart.h"
#include "type.h"

_FOSC(CSW_FSCM_OFF&XT_PLL4);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF&MCLR_EN);
_FGS(CODE_PROT_OFF);

这是按键的初始化
void Key_Init()
{
//    TRISB |= 0x3f;      //将RB0~RB5设为输入
    TRISBbits.TRISB0 = 1;
    TRISBbits.TRISB1 = 1;
    TRISBbits.TRISB2 = 1;
    TRISBbits.TRISB3 = 1;
    TRISBbits.TRISB4 = 1;
    TRISBbits.TRISB5 = 1;
}

//main函数
int main(void)
{
    uint16_t key_value;
    TRISF=0x0000;
    Key_Init();
    Uart1_Init(6000000, 9600);
    Uart1_Send(0x12);//可以正常打印,说明程序已经运行了
    while(1)
    {     
        key_value = PORTB;        //读一次端口的值
        Uart1_Send(PORTB);//不仿真时一直打印0x00,仿真就打印正确值
        delayms(1000);
    }
}

我用MPLAB X IDE v3.45和MPLAB IDE都试过,结果是一样的,仿真就可以读到按键值,不仿真就读不到


不仿真时确定程序已经运行了,因为串口和CAN口可以正常收发数据
我把我的程序给同事,同事下载到他的板子里也是这样,就明应该是程序的问题
第一次用dspic,搞了几天了都没搞明白是怎么回事,
附件中是完整的工程,有没有遇到过这种问题的大神,求解答

key.7z

27.35 KB, 下载次数: 11

最新回复

来学习一下  详情 回复 发表于 2016-12-5 16:46
点赞 关注
 

回复
举报

1万

帖子

25

TA的资源

版主

推荐
 
没有设置ADPCFG寄存器,需要禁用Analog功能

点评

是的,我刚才也发现了,不仔细看手册的恶果  详情 回复 发表于 2016-12-5 15:50
 
 
 

回复

828

帖子

8

TA的资源

一粒金砂(高级)

沙发
 
看个热闹,你这块漂亮的液晶叫啥,不会是大个的ic5110吧

点评

背面写的型号是LG2401286,分辨率是240*128的  详情 回复 发表于 2016-12-5 11:05
 
个人签名人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远http://www.xzroad.com/
 
 

回复

965

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
wugx 发表于 2016-12-5 10:57
看个热闹,你这块漂亮的液晶叫啥,不会是大个的ic5110吧

背面写的型号是LG2401286,分辨率是240*128的
 
 
 

回复

965

帖子

0

TA的资源

纯净的硅(高级)

5
 
dcexpert 发表于 2016-12-5 11:37
没有设置ADPCFG寄存器,需要禁用Analog功能

是的,我刚才也发现了,不仔细看手册的恶果
 
 
 

回复

419

帖子

1

TA的资源

一粒金砂(中级)

6
 
来学习一下
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表