
STM32F103C8T6
个人学习笔记
SUJF
这个作者很懒,什么都没留下…
展开
-
舵机控制疑问
现在问题还没有搞懂使用TIME14,比较输出PWM信号控制舵机知道舵机的周期是20ms。开发板是STM32F407的,TIME14的时钟是84MHzTIM14_PWM_Init(20000-1,84-1); //时钟是84M 定时初始化以上初始化就控制不到而初始化为TIM14_PWM_Init(40000-1,42-1); //时钟是84M 定时初始化而这个是可以的...原创 2021-12-07 22:39:08 · 2170 阅读 · 0 评论 -
UCOS学习-信号量
信号量也是资源管理的一种方法信号量相当于一把锁。锁住共享资源,代码需要获取钥匙才能使用共享资源只有任务才能使用信号量,ISR不能使用互斥信号量是解决优先级反转的问题原创 2021-07-06 19:18:48 · 116 阅读 · 0 评论 -
UCOS学习-资源管理
管理的是共享资源方法有:关闭中断服务、 锁调度器其中锁调度器锁的是任务级调度器,如果有中断,调度器还是会起作用, 因为有一个中断级调度器原创 2021-07-06 18:29:10 · 78 阅读 · 0 评论 -
UCOS学习-任务挂起
任务挂起:任务进入挂起状态,相当于任务运行所需的条件不满足,任务被暂停,无法继续运行1、有些任务必须等待某些事件发生,若事件还没发生时,任务就会被任务为挂起状态2、挂起状态的任务被放置在挂起列表中以表明任务在等待某个时间的发生,等待的时间,任务不会占用CPU的,事件发生时,该任务会被放到就绪队列中,在这种情况下,正在运行的任务可能会被抢占(正在运行的任务被放回就绪列表),并由系统选择优先级最高的任务去实行,换句话说,如果新的任务优先级最高,那么它就会被立即运行...原创 2021-07-05 08:40:47 · 1614 阅读 · 0 评论 -
UCOS学习-延时函数
一般的延时函数时让CPU做空操作,而系统自身的延时函数是任务让出CPU控制权,让CPU可做其他任务,被延时的函数就进入就绪态,任何条件都成立了,就差CPU执行原创 2021-07-04 23:51:12 · 359 阅读 · 0 评论 -
UCOS学习-任务调度器
任务调度器有两种:抢占式和循环轮转调度抢占式:当任务1运行时,任务2就绪,然后任务2的优先级比任务1高,系统通过调度器将CPU的控制权交给任务2,任务1的CPU寄存器状态载入到堆栈中,然后任务2的堆栈的CPU状态载入CPU寄存器,任务1就等待循环轮转调度:当任务的优先级相同时,可以开启系统允许每个任务执行规定的时间,当任务没有完分配给他的时间时,可以自愿放弃如任务1,2,3都是4个时间片,任务1运行了2个时间片,然后调取器就会将CPU控制权交给任务2,执行4个时间片,然后任务3执行4个时间片,接着又原创 2021-07-04 21:57:11 · 452 阅读 · 0 评论 -
UCOS3学习二-临界区
临界区:1、临界区指的是一个访问公用资源的程序片段,而这些资源又无法同时被多个任务或者线程访问2、如果一个临界区可以被一个中断服务程序ISR和一个任务访问,可以通过禁用中断来实现对于临界区的一个保护3、如果临界区只能被任务访问,那么临界可以通过关闭调度器来保护临界区4、CPU_SR_ALLOC(); //定义所需要的变量OS_CRITICAL_ENTER(); //进入临界区OS_CRITICAL_EXIT(); //退出临界区...原创 2021-07-03 10:12:09 · 570 阅读 · 0 评论 -
时钟周期,机器周期
时钟周期,或者叫震荡周期,是晶振的震荡周期。如果12M,那么时钟周期就是1/12M,等于1us机器周期,或者叫CPU周期,完成一个基本操作所需要的时间,如访问寄存器,取指令等,一个机器周期包括几个时钟周期指令周期,执行一条指令所需要的时间,CPU从内存取出一条指令并执行指令的时间总和,包括取指令,分析指令,执行指令...原创 2021-07-02 10:05:34 · 491 阅读 · 0 评论 -
ESP8266学习3-解释心知天气
解释心知天气的cJSON格式数据时,发现在DEV C++解释是没有问题的,当就代码复制到STM32程序里时,总是在某个位置解释失败,后来查资料发现是堆空间不够。更下stm32的堆栈空间就OK原创 2021-07-02 08:46:34 · 234 阅读 · 0 评论 -
UCOS3学习一
U标签无符号原创 2021-06-30 14:42:23 · 99 阅读 · 0 评论 -
ESP8266学习2-关于心知天气网的请求
1、ESP8266_SendString(ENABLE, “GET https://api.seniverse.com/v3/weather/now.json?key=S1EB-JUvy4icX5_CO&location=Wuxi&language=en&unit=c\r\n”, 0, Single_ID_0 );按这个方式发送,返回的数据不会有http的一些报文头2、原创 2021-06-29 22:10:32 · 218 阅读 · 0 评论 -
火焰传感器的简单使用
一、火焰传感器部分数据手册1、工作电压:3.3V-5V2、输出形式:数字开关量输出(0和1)3、引脚:VCC:接电源正极GND:接电源负极D0:TTL开关信号输出二、引脚配置void SW180_Init(void){GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;原创 2021-06-05 17:37:50 · 3026 阅读 · 0 评论 -
震动传感器的简单使用
一、传感器部分手册内容1、工作电压:3.3V-5V2、输出形式:数字开关输出:(0和1)3、引脚:VCC:接电源正极GND:接电源负极D0:数字量信号输出A0:用词震动传感器此功能无效二、引脚配置void SW180_Init(void){GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin原创 2021-06-05 17:32:54 · 1075 阅读 · 0 评论 -
ESP8266学习1
在学习ESP8266是,使用了stm32的例程在sta模式下,服务器发送数据时,不能禁用串口中断,直接使用printf函数,打印串口接受缓存就可以原创 2021-06-01 22:52:15 · 239 阅读 · 0 评论 -
RFID(RC522)项目小结一
在使用钱包功能时,发现扣款,充值命令之一直通信失败后来尝试,将数据块的数据格式变成钱包的规定的数据格式后再进行扣款,充值命令字通信,发现通信成功猜测某些RC522命令字需要规格的数据格式才能正常通信...原创 2021-04-01 09:51:40 · 584 阅读 · 0 评论 -
解读STM32串口通信例程里的部分函数
1、使用串口1(USART1)来通信2、解读例程的中断服务函数void USART1_IRQHandler(void) //串口1中断响应程序 其名字不能随便定义{ u8 Res; //当串口接收到数据 RXNE将被置1 if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断(接收到的数据必须是0x0d 0x0a结尾) RESET是0 {原创 2021-01-10 21:13:30 · 943 阅读 · 0 评论 -
STM32C语言基础
1、预编译的工作?编译“#”号开头的代码。例如#include拷贝头文件代码;#define宏定义替换,#ifndef条件编译2、什么时候需要预编译?不常改动但又常使用的代码;多模块都使用一组标准的包含文件和相同的编译选项,将所有包含文件预编译成一个预编译头3、#与##的区别?#的作用是将宏参数转成一个字符串##的作用是连接两个宏参数4、如何避免头文件被重复包含?使用#ifndef#define。。。。#endif5、static关键字的作用?隐藏作用:可以在不同的文件中定义原创 2020-12-27 15:42:04 · 1710 阅读 · 0 评论 -
STM32----STM32的中断优先级理解
STM32的中断有两种属性,一个是抢占,另一个是响应。中断的编号越小,说明他的优先级越高。抢占优先级:打断其他中断的优先级,即执行中断A的服务函数A过程中,被中断B打断,等中断B的服务函数执行完,再继续中断A的服务函数。响应优先级:就是在相同的抢占优先级下,两个中断同时来,先处理响应优先级高的中断服务函数。拿NVIC的寄存器来举例子NVIC可以配置16个中断优先级,使用4位来控制第0 组: 4 位都用来配置响应优先级。即16 种中断向量具有都不相同的响应优先级。第1 组:最高1 位用来配置抢占优转载 2020-12-26 11:21:54 · 1933 阅读 · 0 评论 -
STM32的GPIO工作模式
库函数GPIO口的解释// GPIO_Mode_AIN 模拟输入// GPIO_Mode_IN_FLOATING输入浮空// GPIO_Mode_IPD 输入下拉// GPIO_Mode_IPU 输入上拉// GPIO_Mode_Out_OD 开漏输出// GPIO_Mode_Out_PP 推挽式输出// GPIO_Mode_AF_OD 开漏复用 输出// GPIO_Mode_AF_PP 推挽式复用 输出...原创 2020-12-19 19:12:03 · 112 阅读 · 0 评论 -
关于STM32例程中U8,U16,U32的问题
在看STM32例程的时候,发现对u8, u16,u32存在疑问。使用go to definition时发现无法找到然后项目管理栏上,发现stdio.h,stdint.h出现了感叹号警示解决方式,打开微库使用go to definition,还是没有,于是寻找一些头文件,在stm32f10x.h中找到了定义...原创 2020-12-19 11:41:34 · 6401 阅读 · 0 评论