STM32 开发点滴
1. 软复位 *((u32?*)0xE000ED0C)?=?0x05fa0004;????//实现系统复位 NVIC_SystemReset(); 2.关中断和开中断(3.0库) STM32F10x_StdPeriph_Lib_V3.1.2LibrariesCMSISCoreCM3core_cm3.h __disable_irq(); ? __set_PRIMASK(1);??// 关除了EMI和FAULT中断 __set_FAULTMASK(1); //关除了EMI中断 ? 3.网口芯片复位时间可能需要调整 /* PHY Reset delay */ ? 4.system_stm32f2xx.c的重要地方 #define VECT_TAB_OFFSET? 0x00000? #define PLL_M????? 25 ? 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) ? 5. STM32? 字节对齐关键字 __packed,?? 存储模式--小端 ? 6.STM32的HardFault_Handler的问题 调式后发现进入了HardFault_Handler里死循环了。请问这个问题可能由啥原因引起的?
HardFault_Handler的调试 最简单的办法: 7. ISP升级,串口引脚是固定(PA9,PA10--UART1),不能随意更换 ? 8. 采用串口总线方式,需将GPIO配置漏极开路,硬件外部必须上拉。 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |