随笔分类 - STM32
摘要:一、设置TIM3的GPIO为推挽输出 二、设置TIM3的PWM1方式4路输出 上面的TIM周期是20ms 三、修改PWM的方法
阅读全文
摘要:STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个) 中断管理方法 首先,对STM32中断进行分组,组0~4。同时,对每个中断设置一个抢占优先级和一个响应优先级值。 分组配置是在寄存器SCB->AIRCR中配置: 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。
阅读全文
摘要:一、初始化部分代码 串口初始化后要连上DMA通道。DMA的通道在参考手册里有对应的表格DMA1和DMA2。 运行一次,后如果是DMA_Mode_Normal就进中断。所以准备好数据后,就可以开启DMA命令,就会自动发送。 二、DMA中断函数 中断函数需要清除中断。 启动发送函数,size是char数
阅读全文
摘要:相比于一通道,原子的例程里因为清了计数时间,所以要对程序进行修改。 记录上升沿后的计数,然后记录下降沿的计数。相减后计算高电平时间,对于定时器中断间隔的边界要分开处理。 这里因为我的接收机时间是1ms~2ms,而中断时间设置为20ms。所以根本不需要考虑时间延迟超过计时器时间。 下面是我的代码 然后
阅读全文
摘要:一、使用外部时钟,并设置为72MHz 还有之前原子里寄存器版本 二、systick定时器设置 main中使用
阅读全文
摘要:一、建立项目模板 这里的user中重复引用了system_stm32f10x.c Output中选择Create HEXFile,并且可以选择输出路径。 Listing中可以选择输出路径。 然后在C/C++中加入两个宏: STM32F10X_MD,USE_STDPERIPH_DRIVER 并且还要勾
阅读全文
摘要:一、初始化GPIO 使用PB1,查芯片手册对应TIM3_CH4 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_
阅读全文
摘要:一、初始化过程 /*********************************************************************** 利用TIM4定时器作为计时,每个0.1秒处理一次数据 计算周期的公式为: psc/72*period/1000000 (单位为秒) ***
阅读全文
摘要:一、GPIO设置USART的初始化 从手册上可知,USART1是PA9(TX)PA10(RX)。所以设置pin9和pin10的GPIO输入输出状态。 同时需要开启复用功能的时钟,和USART1的时钟。 初始化主要包括,波特率,发送的长度,停止位,校验位,硬件流控。 三、main函数 简单的发送程序。
阅读全文
摘要:一、RCC设置 没什么好写的之前USART的基本一样 二、GPIO设置 设置AP9,AP10为串口。 三、USART设置 四、DMA设置 五、设置中断 在stm32f10x_it.c中加入: 六、main函数 /********************************************
阅读全文

浙公网安备 33010602011771号