STM32
文章平均质量分 60
秋山刀名鱼丶
一年之内毫无半点成绩,想起来做人真是没趣。
展开
-
【单片机、硬件调试】嵌入式调试bug记录
【单片机、硬件调试】嵌入式调试bug记录原创 2024-05-13 09:42:43 · 543 阅读 · 0 评论 -
STM32中APB1和APB2控制对应表
**STM32中APB1和APB2控制对应表**分类APB1(低速外设)电源接口UART2、UART3CANTimer2、Timer3、Timer4SPI2备份接口I2C1、I2C2窗口看门狗USBAPB2(高速外设)GPIO_A-EUSART1ADC1、ADC2、ADC3TIM1、TIM8SPI1ALL...原创 2019-12-28 10:27:30 · 1776 阅读 · 0 评论 -
秒、毫秒、微秒、纳秒以及赫兹对应换算表
秒、毫秒、微秒、纳秒以及赫兹对应换算表HzKHzMHzsmsusns1103106109原创 2019-12-27 20:52:33 · 70840 阅读 · 0 评论 -
UCOS_III(原子战舰STM32)学习笔记一
1、UCOS_III主要使用系统的滴答定时器(倒计时计数器)来做高精度延迟;滴答定时器的中断优先级最低(优先级为15); 2、`void delay_init() {if SYSTEM_SUPPORT_OS //如果使用了OSu32 reload;endif①SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);/原创 2017-07-20 16:46:14 · 2371 阅读 · 0 评论 -
UCOS_III(原子战舰STM32)学习笔记三
- 1、任务调度-(1) UCOS_III为可剥夺型内核 当一个高优先级的任务准备就绪,并且此时发生了任务调度,那么这个高优先级的任务就会获得CPU的使用权! UCOSIII中的任务调度是由任务调度器来完成! 任务调度器有2种: ①任务级调度器为函数OSSched()。 ②中断级调度器为函数OSIntExit(),当退出外部中断服务函数的时候使用中断级任务调度。原创 2018-02-03 14:32:41 · 595 阅读 · 0 评论 -
UCOS_III(原子战舰STM32)学习笔记二
- 1.任务堆栈#define START_STK_SIZE 512CPU_STK START_TASK_STK[START_STK_SIZE]任务堆栈定义为512,CPU_STK 为uint型[4个字节],故定义的堆栈数组 START_TASK_STK大小为512*4=2048字节。- 2.任务堆栈初始化任务如何才能切换回上一个任务并且还能接着从上次被中断的地方开始运行?恢原创 2018-01-30 22:23:33 · 710 阅读 · 0 评论 -
stm32芯片启动文件类型的选择
首先看STM32最新固件库3.5中的启动文件。如图: 对应关系如下:原创 2017-11-28 09:58:37 · 614 阅读 · 0 评论 -
STM32系列修改外部晶振以及代码的修改(f103、f105为例)
此文章为引用 正点原子详细讲解刚刚接触STM32的时候,用的都是8M晶振。比如你想更换到为外部晶振为12M,但是主频仍想用72M的。该如何设置?或者想倍频到更高的主频该怎么修改?例子就直接直接拿的例子吧! 属性 原来 现在 外部晶振 8M 12M 倍频 9 6 主频 72M 72M想从原来的8M修改到现在的12M,但是主频仍为72M,该如......原创 2017-12-08 15:59:58 · 28708 阅读 · 4 评论 -
【转载】UCOS临界代码问题以及解决办法
先上图 ①:有两个任务1和2(任务1优先级<任务2优先级),两个任务用到了同一个全局变量nGlobalVar,然后中断来了!中断打断了任务1,中断退出之后,一定退回到任务1继续往下执行吗? 解答:答案是否定的!!答案是否定的!!因为在中断退出前,实现了任务切换,更高优先级的,就绪的任 务被执行!!所以说中断退出后,程序可能跳转到任务2!!②:如果任务2中修改了nGlobalVa转载 2017-09-05 22:24:07 · 897 阅读 · 0 评论 -
STM32报错、报错状况以及解决办法:Library reports error: __use_no_semihosting was requested, but _ttywrch was refer
在写STM32程序的时候 ①我用到了#include “stdlib.h”这个头文件,里面包括一些malloc、exit、free等函数; ②我是用的正点原子的官方usart函数文件。 在这样的前提下出现错误: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced解决办法原创 2017-09-04 16:55:00 · 10163 阅读 · 5 评论 -
C语言中volatile关键字的作用
本文为转载总结文章:点击进入原地址用volatile修饰变量的时候,意指系统总是重新从它所在的内存读取数据。遇到这个关键字声明的变 量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 举一个容易理解的例子:volatile int i=10; int j = i; ... int k = i; 由于编译器发现两次从i读数据的代码之间的代码没有对i进行过操作转载 2017-08-03 20:38:23 · 348 阅读 · 0 评论 -
验证STM32是小端存储
最近写STM32程序,用到了共用体,由此,引发了疑问。 比如:将0x12345678存储到一个U32类型的变量里面。大端和小端分别是这样存储的。 大端存储: 低地址 …… 高地址 0x 12 34 56 78小端存储: 低地址 ……原创 2017-05-07 14:45:46 · 1131 阅读 · 1 评论 -
后台、网关、节点三方数据通信问题
最近在学校做某项目,主要负责后台、网关、节点三方数据通信问题,有具体的协议,来实现控制、查询、定时数据上报等功能。针对联调过程中出现的问题,做一下总结。 1.模块的选取:网关与后台通信采用的是RM-10模块wifi传输数据,STM32单片机用串口与RM-10连接,串口给模块发送数据,模块无线连接路由器,连至后台。网关与各个节 点连接通过的是HC-12无线模块(传输模式有4种,根据需原创 2016-04-19 11:02:40 · 3616 阅读 · 3 评论