随笔分类 -  stm32单片机

摘要:“volatile”,在 C 语言中该关键字用于表示变量是易变的,要求编译器不要优化。这些结构体内的成员,都代表着寄存器,而寄存器很多时候是由外设或 STM32 芯片状态修改的,也就是说即使 CPU 不执行代码修改这些变量,变量的值也有可能被外设修改、更新,所以每次使用这些变量的时候,我们都要求 C 阅读全文
posted @ 2020-04-22 23:49 明语 阅读(327) 评论(0) 推荐(0)
摘要:PWM定时器1和LCD初始化不要一起使用,PWM输出会被LCD_Init()干扰。注销掉LCD_Init里面的printf也是被干扰。 内部RTC不要使用,很难起震,容易死机。例程的程序根本没法动用RTC,可能外置的电池已经没电了,要用最好用外置的时钟芯片。 内置的芯片温度模块准确度不好,要测室温则 阅读全文
posted @ 2020-04-22 16:01 明语 阅读(128) 评论(0) 推荐(0)
摘要:定时器太多了!!! LCD也是,内存配置太多了!!! 阅读全文
posted @ 2020-04-21 22:14 明语 阅读(183) 评论(0) 推荐(0)
摘要:IWDG_PR 和 IWDG_RLR 寄存器具有写保护功能。 在寄存器IWDG_KR中, 写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值 0xFFF 递减计数。当计数器计数到末尾 0x000 时,会产生一个复位信号(IWDG_RESET)。 写入 0xAAAA, IWDG_RLR 中 阅读全文
posted @ 2020-04-21 14:25 明语 阅读(592) 评论(0) 推荐(0)
摘要:使用 IO 口外部中断的一般步骤: 1)初始化 IO 口为输入。2)开启 IO 口复用时钟,设置 IO 口与中断线的映射关系。3)初始化线上中断,设置触发条件等。4)配置中断分组(NVIC),并使能中断。5)编写中断服务函数。 //初始化 EXTI_InitTypeDef EXTI_InitStru 阅读全文
posted @ 2020-04-21 13:53 明语 阅读(1555) 评论(0) 推荐(0)
摘要:。。。学串口没想到要了解这么多 了解复用的概念与使用:https://www.cnblogs.com/action0/p/12740232.html 了解中断NVIC的概念与使用:https://www.cnblogs.com/action0/p/12740610.html 了解串口的使用:http 阅读全文
posted @ 2020-04-20 23:26 明语 阅读(530) 评论(0) 推荐(0)
摘要:1 void USART1_IRQHandler(void) //串口 1 中断服务程序 2 { 3 u8 Res; 4 #if SYSTEM_SUPPORT_OS //如果 SYSTEM_SUPPORT_OS 为真,则需要支持 OS 5 OSIntEnter(); 6 #endif 7 if(US 阅读全文
posted @ 2020-04-20 22:47 明语 阅读(16373) 评论(0) 推荐(0)
摘要:串口设置的一般步骤可以总结为如下几个步骤: 1) 串口时钟使能,GPIO 时钟使能2) 串口复位3) GPIO 端口模式设置4) 串口参数初始化5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)6) 使能串口7) 编写中断处理函数 淡蓝色是以串口1举例,深蓝色是以结构体函数,可拿结 阅读全文
posted @ 2020-04-20 22:03 明语 阅读(1146) 评论(0) 推荐(1)
摘要:使用NVIC时,是为了多个中断分个优先次序 1.进行中断分组 分组函数:void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); 假设,要使中断分组为2 NVIC_PriorityGroupConfig(NVIC_PriorityGrou 阅读全文
posted @ 2020-04-20 21:19 明语 阅读(3770) 评论(0) 推荐(0)
摘要:复用:将GPIO作为内置的外设使用。 初始化复用端口: 1.GPIO时钟使能,和复用的外设时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART|RCC_APB2Periph_GPIOA, ENABLE); 2.端口模式配置 复用的内置外设功能引脚,要根据S 阅读全文
posted @ 2020-04-20 20:30 明语 阅读(1268) 评论(0) 推荐(1)
摘要:按键局部程序分析 u8 KEY_Scan(u8 mode) { static u8 key_up=1;//按键按松开标志 if(mode)key_up=1; //支持连按 if(key_up&&(KEY0==0||KEY1==0||WK_UP==1)) { delay_ms(10);//去抖动 ke 阅读全文
posted @ 2020-04-20 18:38 明语 阅读(1372) 评论(0) 推荐(0)
摘要:初始化GPIO的常用格式: 1.引用结构体 2.使能GPIO 3.设置引脚的引脚、模式、速度 4.初始化指定的GPIO 5.推挽输出要设置GPIO的高低电平 GPIO_InitTypeDef GPIO_InitStructure;//引用两个结构体 //GPIO是挂载在APB2总线的外设,使用使用R 阅读全文
posted @ 2020-04-20 14:44 明语 阅读(2106) 评论(0) 推荐(0)
摘要:转载于:http://blog.sina.com.cn/s/blog_9d8bda390102w8si.html 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空 阅读全文
posted @ 2020-04-20 14:40 明语 阅读(2244) 评论(0) 推荐(0)
摘要:1.最起初自己搭环境, 出现了头文件找不到的错误。 可是已经包含进去了 很疑惑,然后补上了STM32F10X_HD,USE_STDPERIPH_DRIVER,就不报错了 2.对于报红的位置,保险起见,分别补上了头文件 3.到了最后 出现这样的错误: F:\mdk\pack\Keil\STM32F1x 阅读全文
posted @ 2020-01-28 13:33 明语 阅读(675) 评论(0) 推荐(0)