完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
必须将 I/O 扩展器 ( PCA9534PW ) 与STM32F334K8T6一起使用。 代码:
通常的 HAL_I2C_Transmit 是不合适的,因为这里需要选择模块设置寄存器(以及外部 EEPROM)。 1) 0x03——配置寄存器 2) 0x00 - 将所有 8 个引脚设置为退出模式 当代码运行时,扩展器会做出反应,但不是它应有的反应。他没有将所有引脚设置为输出模式,而是设置了一个或多个(我可以通过扩展器输出上的 LED 看到这一点,因为它们默认为高电平)。尝试了配置寄存器的各种组合,例如 0x99 - 所有引脚都处于输出模式。虽然 0x99 不应该。 相同且具有更多开/关引脚 - 我输入的内容 - 在输出端不匹配。 我的猜测是这里正在进行比特移位,移位后的组合到达设备。 我检查了哪些选项:
扩展器工作正常,通过 Arduino 检查。在 STM 上输入相同的寄存器值 - 行为不同。 问题:可能是什么错误以及如何解决? |
|
相关推荐
1个回答
|
|
更新。
错误是我直接将寄存器数据写入函数。 并且需要一个指针。 做一个指针 - 问题解决了。现在可以了! 原因是我不注意。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2635 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3610 浏览 6 评论
5988 浏览 21 评论
939浏览 4评论
1316浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
584浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1303浏览 3评论
1359浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:26 , Processed in 1.263263 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号