完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
之前都是使用固件库来配置程序的,但是现在这个芯片的固件库没有,手里只有数据手册和参考手册。所以对与这块板子有点无从下手了。所以这些条一直在学习寄存器开发,今天尝试用寄存器来点亮板子的上的LED。 根据我的上一个帖子,我们从串口输出的内容里了解到,板子上的3个灯可能是PB9、PB11和PB15所以,我们首先需要使能GPIOB。 GPIOB是在AHB2这个总线上面的,找到配置时钟的寄存器,GPIOB在第2位,所以,我们要将第2个位置1,我们直接就可以使能GPIOB。配置完GPIOB的时钟使能,我们来配置这3个引脚的状态。 首先设置模式,一共有4个模式可以选择分别是 00: Input mode 01: General purpose output mode 10: Alternate function mode 11: Analog mode (reset state) 我们用到的是第二个,通用输出模式,然后配置输出类型,他只暂用一个位 0: Output push-pull (reset state) 1: Output open-drain 0代表推挽输出,所以选择推挽输出。第三个配置耳朵是输出速度,我们现在只是尝试点亮LED灯,对于速度没有要求。选个高速吧。 00: Low speed 01: Medium speed 10: Fast speed 11: High speed 第4个是用来配置上拉或者下拉的,因为LED的一端是直接接地的,所以,我们直接上拉应该就可以点亮灯了。 00: No pull-up, pull-down 01: Pull-up 10: Pull-down 11: Reserved 将程序配置完成,然后写入到单片机里面,然后就看到STlink调试灯在切换,3个灯没有一个是亮的,不知道是什么原因。 时钟的配置和其他的单片机差不多,因为板子上我没看到高速晶振,所以只能配置内部的RC震荡。 MSI我不知道是什么看速度也有低速和高速,没用过。HEI应该是内部的高速震荡,和其他的单片机一样,先使能然后等待起振。也可以PLL倍频。然后在CFGR寄存器中配置各个总线的分频。 因为点灯没点亮,所以我就没有写时钟的程序了,本来想把串口的也配置好的。现在只能理论一下。根据数据手册串口1的引脚应该是PA9和PA10,PB5和PB6。我们用PA9和PA10配置。首先开启串口时钟和GPIOA的时钟。配置PA9为输出,PA10为输入。找到CR1寄存器。 |
|
相关推荐
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
969 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
954 浏览 2 评论
2066 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1162 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1587 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:38 , Processed in 0.824843 second(s), Total 64, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号