
stm32
文章平均质量分 63
物极必反1024
瞎写
展开
-
重定向printf到USB CDC、串口2
重定向printf到USB CDC、串口2原创 2022-08-01 13:26:20 · 885 阅读 · 2 评论 -
Contents mismatch at: 08000000H (Flash=FFH Required=00H) ! Too many errors to display !
Contents mismatch at: 08000000H (Flash=FFH Required=00H) ! Too many errors to display !原创 2022-07-25 14:01:49 · 3544 阅读 · 0 评论 -
STM32CubeIDE1.9.0\STM32CubeMX 6.5 F429IGT6加LAN8720A,配置ETH+LWIP
STM32CubeIDE1.9.0\STM32CubeMX 6.5 F429IGT6加LAN8720A,配置ETH+LWIP,解决目前已知的STM32CubeMX 6.5 问题原创 2022-06-09 14:23:16 · 7370 阅读 · 11 评论 -
STM32F107+LAN8720A使用STM32cubeMX配置网络连接+tcp主从机+UDP app
TM32F107+LAN8720A使用STM32cubeMX配置网络连接+tcp主从机+UDP app以及ST官方的TCP例程本例程的底层是由CubeMX生成,后续添加一些TCP和UDP的app,以及前期联网的DHIP逻辑一信息原创 2022-05-23 14:24:36 · 14339 阅读 · 9 评论 -
STM32Cubeide/STM32F103CubeMX生成自定义HID设备
STM32Cubeide/STM32F103CubeMX生成自定义HID设备原创 2022-04-29 14:36:07 · 1729 阅读 · 0 评论 -
STM32cubeide/STM32cubeMX USB链接W25QXX做U盘
STM32cubeide/STM32cubeMX USB链接W25QXX做U盘,使用HAL库原创 2022-04-21 13:19:30 · 2408 阅读 · 0 评论 -
使用STM32cubeMX/STM32cube ide 生成FatFS代码,操作SPI FLASH
使用STM32cubeMXSTM32cube ide 生成FatFS代码,操作SPI FLASH原创 2022-04-19 14:20:32 · 1082 阅读 · 0 评论 -
国产GD芯片CAN过滤器
GD芯片替换ST芯片时,ST的CAN过滤器程序不可用下面是CANopen中常用CANID的过滤器运行环境:#include “gd32f10x.h”#include <stdio.h>#include “gd32f10x_can.h”#include “gd32f10x_gpio.h”/*-------------------------------------------//函数名:CAN_Set_Filter//描述:CAN0过滤器,默认配置符合CANopen基本指令过原创 2021-09-09 08:51:43 · 12994 阅读 · 0 评论 -
C语言模拟进栈出栈,先进先出先进后出共用内存
#include <stdio.h>#define Debug_En 0 #define Data_Len 10typedef struct Stack{ int Data[Data_Len]; int P_Active; //当前栈长 } My_Stack_type;My_Stack_type My_Stack;int Stack_Push(My_Stack_type *Stack_Active,int Data) //进栈 { if(Stack_Activ原创 2021-04-10 11:34:59 · 923 阅读 · 0 评论 -
KEIL RVMDK编译后的data类型
KEIL RVMDK编译后的信息Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116Code是代码占用的空间;RO-data是 Read Only 只读常量的大小,如const型;RW-data是(Read Write) 初始化了的可读写变量的大小;ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化;简单的说就是在烧写的时候是FLASH中的被占原创 2021-03-08 10:00:13 · 209 阅读 · 0 评论 -
GD单片机Keil环境搭建
链接:https://pan.baidu.com/s/1-_lcwPu3xrw91uw_r8atwQ提取码:bkpq复制这段内容后打开百度网盘手机App,操作更方便哦1、 安装packGD文件夹内有Keil4和Keil5两个,按照要求,没有安装过用于写51单片机的keil4可安装Keil5文件夹内的pack文件,我这边只成功过Keil4内的文件安装完成后打开GD文件夹中\GD32F10x_Firmware_Library_V2.1.2\Template\Keil_project例程,若没有提示找不原创 2021-01-15 09:28:06 · 2867 阅读 · 0 评论 -
CAN过滤器
CAN过滤器1、配置过滤器必须使过滤器组工作在初始化模式,配置完成后进入正常模式CAN1->FMR|=1<<0; //过滤器组0工作在初始化模式//CAN1->FMR|=1<<n; //过滤器组n工作在初始化模式/*...配置*/CAN1->FMR&=0<<0; //过滤器组0进入正常模式//CAN1->FMR&=0<<n; //过滤器组n进入正常模式2、配置某个过滤器时也要先关闭该过滤器的激活原创 2020-12-25 11:16:59 · 1553 阅读 · 1 评论 -
UCOSIII移植和使用,参考正点原子
1任务管理1.1系统文件delaydelay_ms会发起任务调度,最低可发起延时>5ms,从5ms开始不再使用任务调度delay_us不发起任务调度。Usart文件的差别在于中断服务函数void USART1_IRQHandler(void){ u8 res; #if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS为真,则需要支持OS....原创 2019-12-12 13:36:09 · 1523 阅读 · 0 评论 -
定时器编码器模式
做一个这样的信号检测int main(void){ Stm32_Clock_Init(9); //系统时钟设置 delay_init(72); //延时初始化 LED_Init(); /*编码器工作模式*/ TIM3_Encoder_TI1TI2(); USART1_Init(115200); TIM3->CNT=0; LED_R_OFF...原创 2019-04-26 17:30:35 · 1336 阅读 · 0 评论 -
STM32F103之UCOSII从移植到任务所有操作、中断、信号量、邮箱、信号量集、软件定时器。刚学完,还没空整理,移植可直接参考原子,文章大量内容也是从原子移植整理的
/*●--------分配任务优先级-----------------------------------------------分配优先级时不要用使用0、1、2、3最高从4开始用,最低的四个也不要用,os_cfg.h准备了55个任务,够用了●--------任务操作-----------------------------------------------OSTaskSuspend(L...原创 2019-04-02 15:11:30 · 1035 阅读 · 0 评论 -
STM32单脉冲模式,定时器3 CH2触发CH1输出,寄存器式配置。
单脉冲,终于弄出来了!!!!!!来来回回放弃了三次和我之前想的一样,他就是个让定时器只能出来一次脉冲单脉冲模式就是配置定时器,在各种正常的定时器输出模式下,通过不让CNT重装(CNT是猜的),就是让定时器装满之后不更新寄存器,这样下一个脉冲就出不来注意配置输出时要注意各种重装,只是输出的重装就可以,// TIM3-&gt;CCMR1|=1&lt;&lt;2; //OC1FE:输出比...原创 2018-12-03 20:32:41 · 4949 阅读 · 0 评论 -
通用定时器输出比较模式,寄存器配置,从零开始全解析:TIM输出比较模式,四通道输出,同频率,占空比、相位可调,高电平时间要求大于Arr-相位,
输入捕获和输出比较很像,其实就是在CCMR1寄存器的1:0位设置不同的通道模式,包括后面的PWM工作模式也是。依据前面这两种工作模式的设计,总结出的一个固定模式。--------------------------------------1、开定时器时钟RCC-&gt;APB1ENR|=1&lt;&lt;x;2、设定输入输出引脚的工作模式RCC-&gt;APB2ENR|=1&lt;&...原创 2018-11-24 11:02:18 · 8572 阅读 · 3 评论 -
通用定时器时钟源与常用模式
时钟选择计数器时钟可由下列时钟源提供:● 内部时钟(CK_INT)● 外部时钟模式1:外部输入脚(TIx)● 外部时钟模式2:外部触发输入(ETR)● 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。/-------------------------------内部时钟(CK_INT)就是...原创 2018-11-20 15:45:14 · 4082 阅读 · 0 评论 -
IO口功能寄存器式配置方法
/***********************************************************端口配置低寄存器 (GPIOx_CRL)端口配置高寄存器 (GPIOx_CRH)端口输入数据寄存器 (GPIOx_IDR)端口输出数据寄存器 (GPIOx_ODR)端口位设置/清除寄存器 (GPIOx_BSRR)端口位清除寄存器 (GPIOx_BRR)端口配置锁定寄...原创 2018-11-16 08:11:03 · 3282 阅读 · 0 评论 -
STM32F103之DMA寄存器移植笔记
一、DMA 简介直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输,无须CPU干预。数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。一共两个DMA控制器,DMA1 7个通道,DMA2有5个通道。每个通道专门用来管理来自于一个或多个外设对存储器访问的请求,还有一个仲裁器来协调各个DMA请求的优先权。就是有两个DMA,每个DMA有多个通道,...原创 2018-11-13 07:47:56 · 1282 阅读 · 1 评论 -
CANopen使用方法与对象字典主要参数
对象字典主要参数配置0x1000-0x1029 系统参数0x1005 SYNC CON ID 涉及CANopen主机发送的SYNC 同步帧ID与使能0x1005 子指标0x00的值:31:无意义30:gen 0:不生成同步消息 1:生成同步消息29:frame 0 11位CAN-ID有效 1 29位CAN-ID有效28:0 ID 0:10 11位ID 0:28 29位ID一般主机定义为0x0x40000080 发送同步消息,11位ID,ID=0x80。0x1006 定义SY原创 2020-10-22 07:57:08 · 9994 阅读 · 2 评论 -
CANopen开启PDO定时发送后心跳帧时间错误,PDO迟迟不发送,CANopen时间轴错乱
CANopen的例子中,一种使用很多也很简单的方式是用一个1ms定时器中断,然后用全局变量重写sertimer和getElapsedTime函数,然后中断服务函数中加入timerForCan//Set the next alarm //void setTimer(TIMEVAL value){ NextTime=(TimeCNT+value)%TIMER_MAX_COUNT;}// Get the elapsed time since the last occured alarm原创 2020-10-16 13:54:11 · 2602 阅读 · 3 评论 -
CANopen STM32移植
后面有官方源码和字典生成工具,还有移植好的链接。链接失效联系我步骤一:在新建好的工程目录下新建文件夹CanFestival,再在CanFestival下新建文件夹driver、inc和src,再在inc文件夹下面新建stm32文件夹步骤二:将CanFestival-3-10\src目录下的dcf.c、emcy.c、lifegrd.c、lss.c、nmtMaster.c、nmtSlave.c、objacces.c、pdo.c、sdo.c、states.c、sync.c、timer.c共12个文件拷贝到C原创 2020-10-12 09:11:04 · 8870 阅读 · 15 评论