完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我的第一个 STM32 项目,我对 CubeIDE 或 STM32 没有什么经验。我正试图从我以前在 Arduino 上做的所有项目中解脱出来。
我已经让 DS3231 使用 STM32CubeIDE 工作。电路板 = Nucleo 144 - F413ZH。 我正在读取我设置的时间,并使用 UART 将它打印到串行监视器。 我正在使用以下内容读取并在需要时写入 DS3231: #define DS3231_ADDRESS 0xD0 HAL_I2C_Mem_Write(&hi2c1, DS3231_ADDRESS, 0x00, 1, setArray, 7, 1000); HAL_I2C_Mem_Read(&hi2c1, DS3231_ADDRESS, 0x00, 1, getArray, 7, 1000); 正如您所看到的,我刚刚获得了两个名为 set 和 get time 的函数,其中包含这些行。 但是,我想了解如何使用 HAL_StatusTypeDef 检查 I2C 线路上是否有任何错误。与 DigiKeys 在 youtube 上名为“STM32 和 Nucleo 入门第 2 部分”的视频中实现的内容类似。但我不明白如何用 DS3231 实现它。 我尝试了以下类似的实现,但无法正常工作: ret = HAL_I2C_Master_Transmit(hi2c、DevAddress、pData、大小、超时) ret = HAL_I2C_Master_Receive(hi2c、DevAddress、pData、大小、超时) 目标是在相应的 SDA 或 SDL 线断开时打印出“Rx Error”或“Tx Error”。 |
|
相关推荐
1个回答
|
|
你怎么知道这只是成功/错误/超时
因为 enum HAL_StatusTypeDef 只有以下值:HAL_OK、HAL_ERROR、HAL_BUSY、HAL_TIMEOUT >if(返回!=成功){ >在 UART 上打印 Tx/Rx 错误; > }
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2725 浏览 1 评论
3237 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3646 浏览 6 评论
6034 浏览 21 评论
1337浏览 4评论
197浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:25 , Processed in 1.322705 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号