加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

STM32 开发点滴

发布时间:2020-12-15 17:21:53 所属栏目:百科 来源:网络整理
导读:1. 软复位 *((u32?*)0xE000ED0C)?=?0x05fa0004;????//实现系统复位 NVIC_SystemReset(); 2.关中断和开中断(3.0库) STM32F10x_StdPeriph_Lib_V3.1.2LibrariesCMSISCoreCM3core_cm3.h __enable_irq(); __disable_irq(); ? __set_PRIMASK(1);??// 关除了

1. 软复位

*((u32?*)0xE000ED0C)?=?0x05fa0004;????//实现系统复位

NVIC_SystemReset();

2.关中断和开中断(3.0库)

STM32F10x_StdPeriph_Lib_V3.1.2LibrariesCMSISCoreCM3core_cm3.h

__enable_irq();

__disable_irq();

?

__set_PRIMASK(1);??// 关除了EMI和FAULT中断

__set_FAULTMASK(1); //关除了EMI中断

?

3.网口芯片复位时间可能需要调整

/* PHY Reset delay */
#define PHY_RESET_DELAY??? ((uint32_t)0x000FFFFF)

?

4.system_stm32f2xx.c的重要地方

#define VECT_TAB_OFFSET? 0x00000?

#define PLL_M????? 25
#define PLL_N????? 200

?

GPIOMode_TypeDef GPIO_Mode;???

?//GPIO_Mode_IN(输入),GPIO_Mode_OUT(输出),GPIO_Mode_AF(备用),GPIO_Mode_AN(模拟)

?

GPIOSpeed_TypeDef GPIO_Speed;??

// GPIO_Speed_2MHz,GPIO_Speed_25MHz,GPIO_Speed_50MHz,GPIO_Speed_100MHz

?

GPIOOType_TypeDef GPIO_OType;??

// GPIO_OType_PP(推挽输出),GPIO_OType_OD(开漏输出)

?

GPIOPuPd_TypeDef GPIO_PuPd;????

?//GPIO_PuPd_NOPULL(无),GPIO_PuPd_UP(上拉输入),GPIO_PuPd_DOWN(下拉输入)

?

对于模拟i2c采用开漏输出

?

4. FLASH擦写时间和供电大小有关,供电电压越大,擦写时间越小,空间前4X16K,1X64K,NX128

#define VoltageRange_1??????? ((uint8_t)0x00)? /*!< Device operating range: 1.8V to 2.1V */ ----FLASH_PSIZE_BYTE??? (PSIZE 8)
#define VoltageRange_2??????? ((uint8_t)0x01)? /*!<Device operating range: 2.1V to 2.7V */ -----FLASH_PSIZE_HALF_WORD (PSIZE 16)
?#define VoltageRange_3??????? ((uint8_t)0x02)? /*!<Device operating range: 2.7V to 3.6V */------FLASH_PSIZE_WORD(PSIZE 32)

?

5. STM32? 字节对齐关键字 __packed,?? 存储模式--小端

?

6.STM32的HardFault_Handler的问题

调式后发现进入了HardFault_Handler里死循环了。请问这个问题可能由啥原因引起

一般都是非法访问对应地址的数据出错,检查是否堆栈溢出,数组越界等等

HardFault_Handler的调试 最简单的办法:

在进入HardFault_Handler之后,根据堆栈指针查看堆栈,找到堆栈中最新的函数返回地址,到这个地址上去加断点,一步步根据汇编执行代码。很快就能找到出错原因,大多数是数组溢出,或者是指针初始化的问题。
?

7. ISP升级,串口引脚是固定(PA9,PA10--UART1),不能随意更换

?

8. 采用串口总线方式,需将GPIO配置漏极开路,硬件外部必须上拉。 ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读