429|9

78

帖子

0

资源

一粒金砂(中级)

初学者请教,2个不同的LPC1768芯片的工程源代码,QEIPOS寄存器不会使用

2个工程,一个是头文件lpc1700.h里面就有QEIPOS寄存器的define的值,另外一个在LPC17xx.h里面只有一个typedef struct。右边的工程不太明白这个寄存器怎么使用。

Y[W6A$~E`_GC_UK$JGCB{BH.png 我试过
LPC_QEI_TypeDef lpcQEI;
然后使用
lpcQEI.QEIPOS这样使用,虽然编译可以通过,但是貌似也没初始值,程序烧写进去也不能正常运行。
还试过
lpcQEI.QEIPOS = 0x400BC00C;
也不行,报错。

此帖出自NXP MCU论坛

回复

2557

帖子

1

资源

五彩晶圆(初级)

lpcQEI.QEIPOS 就是那个寄存器,初始值是器件上电默认初始值。使用的时候直接读写这个东西就行了。

lpcQEI.QEIPOS = x;

int x = lpcQEI.QEIPOS;

点评

lpcQEI.QEIPOS = x; 你这个赋值了? 我之前也是直接用lpcQEI.QEIPOS,但是我打印了lpcQEI.QEIPOS 的值,发现是0  详情 回复 发表于 2020-9-15 12:37
个人签名人已离开,无事别找,找也找不到。

回复

78

帖子

0

资源

一粒金砂(中级)

本帖最后由 yunhai14 于 2020-9-15 13:14 编辑
freebsder 发表于 2020-9-15 11:09 lpcQEI.QEIPOS 就是那个寄存器,初始值是器件上电默认初始值。使用的时候直接读写这个东西就行了。 lpcQ ...

lpcQEI.QEIPOS = x; 你这个赋值了?

我之前也是直接用lpcQEI.QEIPOS,但是我打印了lpcQEI.QEIPOS 的值,发现是0,而且感觉下位机没有正常执行,卡住了

点评

你要做的是按照1768的数据手册和开发手册核对 QEIPOS 的地址是不是 0x400BC00C ,然后你要做的是查看 QEIPOS 的读写属性,只读只写还是某些位可读写等。最后,不要感觉下位机怎么样,要打断点,调试  详情 回复 发表于 2020-9-15 13:37

回复

2557

帖子

1

资源

五彩晶圆(初级)

yunhai14 发表于 2020-9-15 12:37 freebsder 发表于 2020-9-15 11:09 lpcQEI.QEIPOS 就是那个寄存器,初始值是器件上电默认初始值。使用的 ...

你要做的是按照1768的数据手册和开发手册核对 QEIPOS 的地址是不是 0x400BC00C ,然后你要做的是查看 QEIPOS 的读写属性,只读只写还是某些位可读写等。最后,不要感觉下位机怎么样,要打断点,调试,IAR和Keil都可以查看外设寄存器的操作情况。

点评

我单独在main函数开始的地方写了一行qei_num = LPC_QEI->QEIPOS/2;,用JLINK进行debug,发现一直停在 HardFault_Handler\                 PROC     &nbs  详情 回复 发表于 2020-9-15 15:48
怎么看QEIPOS读写属性,我确实太菜了,不太会  详情 回复 发表于 2020-9-15 15:20
个人签名人已离开,无事别找,找也找不到。

回复

78

帖子

0

资源

一粒金砂(中级)

freebsder 发表于 2020-9-15 13:37 你要做的是按照1768的数据手册和开发手册核对 QEIPOS 的地址是不是 0x400BC00C ,然后你要做的 ...

怎么看QEIPOS读写属性,我确实太菜了,不太会

点评

看芯片的用户手册。  详情 回复 发表于 2020-9-15 16:04

回复

78

帖子

0

资源

一粒金砂(中级)

freebsder 发表于 2020-9-15 13:37 你要做的是按照1768的数据手册和开发手册核对 QEIPOS 的地址是不是 0x400BC00C ,然后你要做的 ...

我单独在main函数开始的地方写了一行qei_num = LPC_QEI->QEIPOS/2;,用JLINK进行debug,发现一直停在

HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler         [WEAK]
                B       .
                ENDP

这行

 

点评

看芯片的用户手册。模块要初始化才能用。你直接上来就搞,肯定要出事。  详情 回复 发表于 2020-9-15 16:05

回复

2557

帖子

1

资源

五彩晶圆(初级)

yunhai14 发表于 2020-9-15 15:20 怎么看QEIPOS读写属性,我确实太菜了,不太会

看芯片的用户手册。

个人签名人已离开,无事别找,找也找不到。

回复

2557

帖子

1

资源

五彩晶圆(初级)

yunhai14 发表于 2020-9-15 15:48 我单独在main函数开始的地方写了一行qei_num = LPC_QEI->QEIPOS/2;,用JLINK进行debug,发现一直停在 ...

看芯片的用户手册。模块要初始化才能用。你直接上来就搞,肯定要出事。

个人签名人已离开,无事别找,找也找不到。

回复

78

帖子

0

资源

一粒金砂(中级)

本帖最后由 yunhai14 于 2020-9-15 17:53 编辑

    LPC_SC->PCONP |= 0x00040000;                                                                                                
    LPC_SC->PCLKSEL1 |= 0x00000001;                                                                                            
    LPC_PINCON->PINSEL3 |= 0x000100 + 0x004000;                                                                              
    LPC_QEI->QEICON = 0;                                                                                                                       
    LPC_QEI->QEICONF = 0;                                                                                                                                                                                           
    LPC_QEI->QEIMAXPOS = 0xFFFFFFFF;
        NVIC_SetPriority(QEI_IRQn, 3);
    NVIC_EnableIRQ(QEI_IRQn);

 

我看下左边工程的代码,类似需要这样初始化,但是我初始化了,QEI的值还是读不到,是不是哪里细节还有问题?

求高手帮忙


回复

78

帖子

0

资源

一粒金砂(中级)

LPC_SC->PCONP |= 0x00040000;                                                                                                     LPC_SC->PCLKSEL1 |= 0x00000001;                                                                                                 LPC_PINCON->PINSEL3 |= 0x000100 + 0x004000;                                                                                   LPC_QEI->QEICON = 0;                                                                                                                            LPC_QEI->QEICONF = 0;                                                                                                                                                                                                LPC_QEI->QEIMAXPOS = 0xFFFFFFFF;         NVIC_SetPriority(QEI_IRQn, 3);     NVIC_EnableIRQ(QEI_IRQn);     我看下左边工程的代码,类似需要这样初始化,但是我初始化了,QEI的值还是读不到,是不是哪里细节还有问题?  求高手帮忙

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

关闭
站长推荐上一条 1/5 下一条

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

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

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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