完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
必须将 I/O 扩展器 ( PCA9534PW ) 与STM32F334K8T6一起使用。 代码:
通常的 HAL_I2C_Transmit 是不合适的,因为这里需要选择模块设置寄存器(以及外部 EEPROM)。 1) 0x03——配置寄存器 2) 0x00 - 将所有 8 个引脚设置为退出模式 当代码运行时,扩展器会做出反应,但不是它应有的反应。他没有将所有引脚设置为输出模式,而是设置了一个或多个(我可以通过扩展器输出上的 LED 看到这一点,因为它们默认为高电平)。尝试了配置寄存器的各种组合,例如 0x99 - 所有引脚都处于输出模式。虽然 0x99 不应该。 相同且具有更多开/关引脚 - 我输入的内容 - 在输出端不匹配。 我的猜测是这里正在进行比特移位,移位后的组合到达设备。 我检查了哪些选项:
扩展器工作正常,通过 Arduino 检查。在 STM 上输入相同的寄存器值 - 行为不同。 问题:可能是什么错误以及如何解决? |
|
相关推荐
1个回答
|
|
更新。
错误是我直接将寄存器数据写入函数。 并且需要一个指针。 做一个指针 - 问题解决了。现在可以了! 原因是我不注意。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2738 浏览 1 评论
3241 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1810 浏览 1 评论
3650 浏览 6 评论
6039 浏览 21 评论
1339浏览 4评论
201浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
353浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
444浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
274浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 02:14 , Processed in 1.159029 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号