M核单片机
单片机
Paper_Love
这个作者很懒,什么都没留下…
展开
-
STM32 SPI通信(读写flash)
SPI通信四线制:MISO:主设备数据输入,从设备数据输出MOSI:主设备数据输出,从设备数据输入SCLK:时钟信号CS:片选引脚(低电平有效)flash读写函数:u8 SPI1_ReadWriteByte(u8 TxData){ while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE)==RESET); SPI_I2S_SendData(SPI1, TxData); while(SPI_I2S_GetFlagStatu原创 2021-09-15 14:30:40 · 669 阅读 · 0 评论 -
STM32 NVIC中断
STM32 NVIC中断/** * @brief Configures the priority grouping: pre-emption priority and subpriority. * @param NVIC_PriorityGroup: specifies the priority grouping bits length. * This parameter can be one of the following values: * @arg NVIC_Pr原创 2021-12-31 08:38:46 · 108 阅读 · 0 评论 -
STM32 USART通信
USART通信两线制:RX:发送信号 接另一端TXTX:接收信号 接另一端RX串口发送:/* 串口发送接收字符串函数 */char * string1 = "AT\r\n";void usart_sendString(USART_TypeDef* USARTx, char* Data){ while(*Data) { while(USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET); USART_SendData(USA原创 2021-09-15 14:36:36 · 365 阅读 · 0 评论 -
STM32 ADC模数转换
STM32 ADC模数转换独立模式/双重DMA/三重DMA//使能ADC时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);//APB2时钟为72MHz//ADCCLK时钟最大为14MHz//设置ADC分频因子6 72M/6=12MHzRCC_ADCCLKConfig(RCC_PCLK2_Div6);ADC_DeInit(ADC1); //原创 2021-09-30 15:21:51 · 430 阅读 · 0 评论 -
STM32读写Flash
STM32读写Flashbyte:字节(8位)halfword:半字(16位)word:字(32位)//写Flash时,将数据转换为u32类型的指针,再对指针取值。FLASH_ProgramWord(0x0800f800, *((volatile uint32_t *)&writedata));//读Flash时,将地址中的数据强转成需要的类型数据。readdata = *(volatile float *)0x0800f800;//向flash写入1字节数据(写入1字节)u8原创 2021-09-06 11:09:25 · 1665 阅读 · 0 评论 -
STM32通用和复用功能IO
GPIO功能配置每个端口可以被配置为8种模式:typedef enum{ GPIO_Mode_AIN = 0x0,GPIO_Mode_IN_FLOATING = 0x04,GPIO_Mode_IPD = 0x28,GPIO_Mode_IPU = 0x48,GPIO_Mode_Out_OD = 0x14,GPIO_Mode_Out_PP = 0x10,GPIO_Mode_AF_OD = 0x1C,GPIO_Mode_AF_PP = 0x18}GPIOMode_TypeDef;通用输原创 2021-09-15 14:06:03 · 1697 阅读 · 0 评论 -
STM32 I2C通信(读写eeprom)
I2C通信双线制:串行时钟线SCL,串行数据线SDA。通常采用软件模拟i2c通信。原创 2021-09-15 14:23:37 · 1609 阅读 · 0 评论 -
ESP8266 WIFI模块
ESP8266 WIFI模块原创 2021-08-26 15:21:38 · 395 阅读 · 0 评论 -
STM32 CAN通信
CAN通信void CAN1_init(void){ GPIO_InitTypeDef GPIO_InitStruct; CAN_InitTypeDef CAN_InitStruct; CAN_FilterInitTypeDef CAN_FilterInitStruct; NVIC_InitTypeDef NVIC_InitStruct; //初始化GPIO PB8(CANRX) PB9(CANTX) RCC_APB2PeriphClockCmd(RCC原创 2021-09-15 15:13:15 · 1387 阅读 · 0 评论 -
STM32 RTC实时时钟
STM32 RTC配置注意事项系统复位或者从待机模式唤醒后RTC时间不会被重置。因为为了防止对后备寄存器和RTC的意外写操作,需要先取消保护,才能写成功。RTC初始化原创 2021-12-29 15:19:53 · 861 阅读 · 0 评论 -
STM32 低功耗
STM32 低功耗低功耗模式:正常运行状态睡眠模式停止模式待机模式如何配置低功耗模式?配置睡眠模式: 无需配置配置停止模式: PWR_EnterSTOPMode(); 后面需要重新配置HSE。进入待机模式: 使能PWR时钟 使能PWR_WakeUpPinCmd(); PWR_EnterSTANDBYMode();如何进入低功耗模式?进入睡眠模式: __WFI(); //等待中断唤醒 __WFE(): //等待事件唤醒进入停止模式: PWR_EnterSTOPMo原创 2021-12-29 14:49:02 · 109 阅读 · 0 评论 -
STM32 DMA传输
STM32 DMA(Direct Memory Access)直接存储器访问直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。(----摘抄自F103数据手册)传输方式外设到存储器存储器到外设存储器到存储原创 2021-09-30 14:56:42 · 527 阅读 · 0 评论 -
STM32 定时器
STM32 定时器初始化定时器原创 2021-11-04 11:32:34 · 51 阅读 · 0 评论 -
STM32 软硬件调试
STM32 软硬件调试硬件调试硬件调试通常是通过JTAT或者SWD调试下载器来进行调试。首先需要将keil软件修改为硬件调试。如果软件调试没有当前运行指针(黄色)和指向运行指针(蓝色)和打断点功能,需要在配置中去掉Download to Flash。软件调试软件调试是直接通过软件模拟来进行调试。首先需要将keil软件修改为软件调试。......原创 2021-09-26 09:14:45 · 4481 阅读 · 0 评论 -
STM32 RCC时钟配置
STM32 RCC时钟配置原创 2021-12-29 15:20:25 · 509 阅读 · 0 评论 -
状态机-面向对象编程
状态机-面向对象编程#include "stdio.h"//状态typedef struct State { const struct State *(* const state_press)(const struct State *pThis); const struct State *(* const state_release)(const struct State *pThis);} State;//事件--改变状态void initialize(void);voi原创 2022-01-14 14:18:24 · 286 阅读 · 0 评论 -
嵌入式实时操作系统Ucos3
第一章 概述第二章 目录与文件第三章 初识ucos3单任务应用程序多任务应用程序第四章 临界段代码保护临界段代码有两种方式:关中断给调度器上锁第五章 任务管理第六章 任务就绪表第七章 任务调度第八章 任务切换第九章 中断管理宏定义 OS_CFG_ISR_POST_DEFERRED_EN直接发布:宏定义为0,采用关闭中断的方式保护临界段代码延迟发布:宏定义为1,采用给任务器上锁的方式保护临界段代码第十章 任务挂起表第十一章 时间管理OSTimeDly()O原创 2021-11-02 11:50:15 · 335 阅读 · 0 评论 -
单片机RAM和ROM
数据存储空间RAM内存地址增长方式读写性内容最高内存地址stack栈段向下增长可读可写可执行存放局部变量 函数参数 函数返回值 编译器自动分配和释放heap堆段向上增长可读可写可执行动态内存分配,程序员控制分配释放.bss段向上增长可读可写可执行存放未初始化数据.data数据段向上增长可读可写可执行存放常量 全局变量 静态变量.text代码段向上增长可读不可写可执行存放代码最低内存地址程序存储空间原创 2022-01-13 15:08:03 · 1359 阅读 · 0 评论