完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
偶然得到一块电路板见图,上面的主芯片是STM32F103VE,有个三位数码管,是由集成电路BC7275控制的,BC7275是凌志比高科技生产的单片5位数码管驱动芯片http://www.bitcode.com.cn/bc7275.html 这个是网址,在这个网址,我下了一个例程 和技术手册 ,这个例程是用寄存器写的,是配合他们的测试板子的,和我手上的电路板不同,我的是SPI2口,PB12- SPI2的NSS脚直接接地,PB14未接,这个应当是Half-Duplex-Master模式,CS接地的两线接法。具体参数是:SPI2配置为16位,pclk/256速率, 主机模式,clk空闲高电平,数据在第二个时钟沿采样, 最终SPI2时钟频率为35.156KHz。 我也按照这个参数进行了设置,用CUBE生成了程序,但是 不能点亮数码管,程序死在这段while ((SPI1->SR SPI_SR_RXNE) == 0); // 等待发送完成 waitfor transmit to finish。 用万用表测试数码管是好的,我的HAL库生成的程序在这。那位大神能看下是神马问题。LED1-4 分别为PE0-PE3,按键KEY1-4 分别为PD0-PD3。
|
|
相关推荐
1个回答
|
|
要将寄存器版本的程序改成HAL库的,你需要遵循以下步骤:
1. 首先,确保你已经安装了STM32CubeMX和相应的HAL库。STM32CubeMX是一个图形化软件配置工具,可以帮助你生成初始化代码和配置HAL库。 2. 使用STM32CubeMX配置你的项目。在CubeMX中,选择你的STM32F103VE芯片,然后配置SPI2接口。根据你提供的参数,设置SPI2为16位,时钟速率为PCLK/256,主机模式,空闲时钟高电平,数据在第二个时钟沿。 3. 在CubeMX中,配置GPIO引脚。确保PB12被配置为SPI2的NSS引脚,PB14可以保持未连接。 4. 生成HAL库初始化代码。在CubeMX中,点击“Generate Code”按钮,生成初始化代码和配置文件。 5. 将寄存器版本的程序中的SPI通信代码替换为HAL库函数。例如,使用HAL_SPI_Transmit()和HAL_SPI_Receive()函数代替直接操作SPI寄存器的代码。 6. 修改BC7275驱动代码以适应HAL库。根据你下载的例程和技术手册,将BC7275的寄存器操作替换为HAL库函数。例如,使用HAL_SPI_Transmit()和HAL_SPI_Receive()函数与BC7275通信。 7. 确保你的项目中的时钟配置正确。在HAL库中,时钟配置是通过RCC(Reset and Clock Control)模块进行的。确保你的项目中的时钟配置与CubeMX中的配置一致。 8. 编译并下载到你的STM32F103VE开发板上。使用STM32CubeIDE或其他支持STM32的IDE编译你的项目,并下载到开发板上进行测试。 9. 如果一切正常,你的程序现在应该使用HAL库而不是直接操作寄存器来与SPI2和BC7275通信。 通过以上步骤,你应该能够将寄存器版本的程序转换为使用HAL库的程序。这将使代码更易于阅读和维护,同时减少直接操作硬件寄存器带来的风险。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1810 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1631 浏览 1 评论
1098 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
737 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1687 浏览 2 评论
1944浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
748浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
583浏览 3评论
604浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
565浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 05:10 , Processed in 0.899098 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号