完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,伙计们,这里是个严重的问题。我在PIC32 MZ上使用C端口作为一个混合的输入和输出端口。这里是C端口是如何配置的。PC1-输出/ *如果读取的话,这将是2。*/PC2-输入/ *如果读取,这将是4。*/PC3-输出/ *如果读取,这将是8。*/PC4-输入/ *,如果读取,这将是16。*/Li $ T0,(1和lt;2;)(1和lt;lt;4)/*位2和4设置为输入。端口C引脚的其余部分被设置为输出。*/SH $T0,TrISCc和所有端口C引脚被配置为数字引脚,而不是模拟。我使用的是另一个PIC32 MZ单片机,它把PC2设置得很高。当读取端口C时,我得到了4的正确值。如果我把锁存器PC1设置成高电平来点亮一个LED,然后再读取C端口,则得到6。为什么PIC32 MZ在被配置为输出引脚时读取PC1。它应该只读取输入引脚PC2和PC4。里德内部拉和普拉德,仍然没有去。我没有太多的头发,所以请大家帮忙解决这个问题。谢谢大家,希望能尽快收到你们的消息。Pete:
以上来自于百度翻译 以下为原文 Hi Guys and Gals, Serious problem here. I'm using PORT C on my PIC32MZ as a mixed input and output port. Here's how Port C is configured. PC1 - OUTPUT /* This will = 2 if read. */ PC2 - INPUT /* This will = 4 if read. */ PC3 - OUTPUT /* This will = 8 if read. */ PC4 - INPUT /* This will = 16 if read. */ li $t0,(1<<2)|(1<<4) /* Bits 2 and 4 set to INPUT. All the rest of the Port C pins are set to output. */ sh $t0,TRISC and ALL port C pins are configured as digital pins, not analogue. I'm using another PIC32MZ MCU that sets PC2 HIGH. When reading PORT C I get 4 which is correct. If I set LATCH PC1 to HIGH to light a LED and then read PORT C again I get 6. Why is the PIC32MZ reading PC1 when it's configured as an output pin. It should only be reading the INPUT pins PC2 and PC4. I've tried internal pullups and pulldowns and still no go. I don't have much hair left LOL so PLEASE somebody help to fix this problem. Thanks Guys and hope to hear from you soon. Pete :) |
|
相关推荐
4个回答
|
|
MMM,读PORTx将返回引脚状态:即如果输入设置为输入电平,或者输出为电平设置为输出……也许您想从LATX读取?
以上来自于百度翻译 以下为原文 mmm, reading PORTx will return the state of pins: i.e. levels read from inputs if set as inputs, or level set as output if outputs... Maybe you wanna read from LATx? |
|
|
|
嗨,DarioG,谢谢你,我一定错过了拉脱斯。我以前从未使用过这个命令。你知道如何在MIPS32汇编中使用它吗?你能给我一个小代码片段吗?Pete:
以上来自于百度翻译 以下为原文 Hi DarioG, thanks I must of missed LATx. I've never used that command before. Do you know how to use it in Mips32 Assembly? Can you give me a small code snippet. Pete :) |
|
|
|
AHEM,我不是PIC32汇编程序的专家!但这是一个正常的寄存器,你可以像其他任何一样访问它——看看上面所做的TISISC(PS:那么,看看LATCVIN和类似的……)
以上来自于百度翻译 以下为原文 Ahem, I'm not an expert in PIC32 assembler! But it's a normal register, you can access it as any other - see the TRISC you did above. (PS: then, take a look at LATCINV and alike...) |
|
|
|
这完全是错误的。这不是I/O端口工作的方式。如果读取端口,则得到所有引脚的状态。如果要屏蔽不需要的位,则应该使用二进制和操作屏蔽值。
以上来自于百度翻译 以下为原文 This is just plain wrong. That is not how I/O ports work. If you read a port, you get the state of ALL the pins. You should mask the value using a binary AND operation if you want to mask away unwanted bits. |
|
|
|
只有小组成员才能发言,加入小组>>
5244 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3209 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2260 浏览 5 评论
779浏览 1评论
672浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
598浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
682浏览 0评论
579浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 13:08 , Processed in 1.335155 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号