完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
从今天开始,我将逐一调试航顺HK32F030Mxx官网例程,有兴趣的同学欢迎一起研究学习。
官方例程版本号:HK32F030Mxx_ExampleV1.0.7 手里没有例程的同学可以私信我,私信发给你。 简单粗暴,话不多说,例程有如下结构:
1.reset 1.11.1 External Reset NRST Pin Test 可通过寄存器RCCͺCSR来判断MCU的复位源。 例程1.1是一个复位的程序 主要逻辑是 1.Uart_Config() 初始化串口,端口PA3和PD6分别作为串口的TX和RX. (1) 开启GPIOA和GPIOD的外设时钟RCC_AHBPeriph_GPIOA和RCC_AHBPeriph_GPIOD; (2)UART1的外设使能RCC_APB2Periph_USART1 (3)配置GPIO的属性,和ST的库都是一样的,包括设置pin3,portA,AF功能,推挽方式, 无上拉电阻,速度高速10M,AF复用功能为AF1串口功能。 (4)设置串口传输参数,115200波特率,8位数据位(CR1),一位停止位,无奇偶校验位,无硬件流控制(CR3),发送器和接收器使能USART_CR1_RE,USART_CR1_TE。 (5)USART_CR1_UE ,UART使能 2.打印 3.Reset_Init();判断是上电复位POR还是引脚复位,并打印输出。 (1)复位标志位在两个寄存器中CR和CSR.为了区分,每个寄存器标志设置为8位,用第几位标识,高三位来表示寄存器。011是CSR,001是CR。这样在8位中就可以即表示标志位又表示寄存器。 (2)判断了寄存器之后,把高三位去掉,读出寄存器 (3)1进行左移相应的位数,和寄存器读出的值相与。如果不为0说明此位被置位。置位标志指示了复位原因 (4)打印输出复位原因 个人认为:这种方式稍微有点绕,标志位可以设置的比较简单,8位就行。也能迅速的定位到寄存器。缺点是不是太好理解。 注意:程序中有个bug: 程序中串口初始化当中有个参数带错了,USART1_TX_PIN_SOURCE是正确的参数。 后面有bug或者异常我也会标识出来,节省大家的时间。 现象比较明确,就是串口打印输出复位原因。程序执行和期望一样,调试通过。 |
||
|
||
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
890 浏览 0 评论
3336 浏览 9 评论
3013 浏览 16 评论
3506 浏览 1 评论
9098 浏览 16 评论
1216浏览 3评论
631浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
620浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2361浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1926浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 22:16 , Processed in 1.079345 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号