自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 cubemx为啥在SPI配置时将MISO设置为AFPP,而不是输入模式

尽管MISO在CubeMX中被配置为AFPP模式,但在SPI通信过程中,MISO引脚会根据需要自动切换为输入模式或输出模式,以实现双向数据传输。

2023-11-14 10:48:36 430

原创 程序跑进了hardfault

例如,对于某些架构,当一个结构体成员变量没有按照对齐规则排列时,CPU可能需要进行多次内存访问操作,从而导致性能下降。因此,在编写程序时,需要特别注意结构体的对齐问题,确保结构体成员变量按照对齐规则进行排列,以避免出现内存访问错误和程序异常。对齐是指将结构体成员变量按照特定的字节对齐规则进行排列的过程,这样可以确保结构体成员在内存中的地址是按照一定规律排列的。结构体对齐是为了提高内存读写的效率和性能。当结构体成员变量没有按照对齐规则进行排列时,可能会导致访问内存的错误,从而导致程序出现异常,如硬件错误。

2023-11-01 16:10:33 184

原创 STM32复位

2023-03-28 11:44:17 149

原创 PVD可编程电压监测器

有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理,这时会用到PVD。

2023-03-28 10:23:50 308

原创 待机模式中唤醒

代码源自正点原子文档源自STM32F1XX参考手册中文版参考[https://www.cnblogs.com/alvis-jing/p/3712106.html#!comments]

2023-03-26 15:18:19 498

原创 C语言贪吃蛇

主要是对easyx图形库的使用

2023-01-31 13:02:40 343

原创 二维数组与指针(杰哥强化版)

二维数组与指针,指针偏移

2022-11-14 18:06:24 379

原创 库函数改变预分频系数

TIM_PrescalerConfig

2022-10-03 15:19:24 1768

原创 keil生成hex文件

生成hex文件

2022-08-29 10:51:22 420

原创 大小端模式

大小端模式

2022-08-09 16:20:31 71

转载 inline关键字

inline

2022-08-09 15:00:23 433

原创 先序遍历的顺序建立二叉链表

创建二叉链表

2022-07-30 16:00:15 1021

原创 单链表的指针域

2022-07-17 00:05:30 633

原创 cubemx移植事件标志组These IPs still have some not configured or wrong parameter values:[FREERTOS]

cubemx移植事件标志组

2022-07-13 22:18:48 1817 1

原创 freeRTOS软件定时器Cubemx

软件定时器

2022-07-13 10:55:28 134

原创 xSemaphoreCreateCounting和osSemaphoreCreate的区别

xSemaphoreCreateCounting和osSemaphoreCreate的区别

2022-07-12 10:31:39 1150

原创 队列操作实验HAL库版

正点原子队列操作实验hal库

2022-07-05 20:52:44 87

原创 freeRTOS中断优先级

cube配置freeRTOS中断优先级

2022-06-28 15:06:04 2132 1

原创 用cubemx配置freeRTOS点灯和串口打印

用cube配置freeRTOS点灯和打印

2022-06-25 17:14:03 323

原创 vTaskGetRunTimeStats()

vTaskGetRunTimeStats() 库函数版本和hal库版本

2022-05-08 13:39:30 2095

原创 typedef

typedef

2022-02-28 10:57:23 653

原创 Error: Undefined symbol __HAL_TIM_GetCounter

解决方法:添加头文件#include "stm32_hal_legacy.h"问题解决

2022-02-10 16:38:34 1200

原创 cubemx配置DataScope_DP

1.2.3.定时器3使能并开中断

2021-11-07 10:39:14 132

原创 keil的各种打印(HAL库和库函数)

keil串口打印

2021-11-01 09:57:52 3947 1

原创 Undefined symbol arm_cos_f32

在DSP库里加入这个文件,问题解决

2021-10-19 15:43:58 2214 4

原创 报一堆错误

在tool加入mytype.h,问题解决

2021-10-19 15:21:10 79

原创 习题3-1 比较大小

习题3-1 比较大小本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。#include <stdio.h>int PrintN(int a[3]){ int temp,i,n; for(i=0;i<3;i++) { for(n=0;n<3;n++) { if(a[i]<a[n]) { temp=a[i];

2021-10-13 20:28:39 36

原创 习题3-4 统计学生成绩

习题3-4 统计学生成绩本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。#include <stdio.h>int main(){ float speed,max,x; scanf("%f %f",&speed,&max); x=(speed-max)/max*100; i

2021-10-13 20:27:26 300

原创 练习3-8 查询水果价格

练习3-8 查询水果价格给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。#include <

2021-10-13 20:25:48 272

原创 error:unknown type name ‘uint8_t‘

加入#include "stdint.h"解决

2021-10-12 20:38:37 17448 12

原创 发送给视觉的数据(帧和数据包)

void sendVisionData(uint8_t Modle,uint8_t robotcolor,uint16_t Direction){ memset(Tx_Buffer,0,VISON_SEND_LENGTH); //数据清零 VisonHeader.SOF=VIOSN_SOF;//A5 VisonHeader.robotColor=robotcolor;//02 VisonHeader.model=Modle;//02 //写入帧头数据 memcpy(Tx_Buffer,&

2021-09-24 18:17:00 141

原创 数据结构概念的关系

数据结构名词

2021-09-21 16:00:34 197

原创 ../Drivers/CMSIS/Include/arm_math.h(314): error: #35: #error directive: “Define according the used

现象:可能出现会一大堆报错。解决方法:不要紧张,把报错显示的那句复制到魔术棒里的C/C#的Define中,问题解决

2021-09-19 17:04:09 3618 2

原创 斜坡函数数

斜坡函数不看.angle,看total_angle,最终实现的是relative_angle和得到的total_angle应该是一样大,即每次转动相同的角度2000。我一开始的total_angle是0,所以经过斜坡函数计算后也应该total_angle是2000。关于云台归中函数中,会判断.angle在一个范围里面,这里实现的功能是让电机转到固定的角度,所以要用到angle。.angle是电机定子上固定的角度,每个数值固定一个角度,像那种有时针分针的那种时钟一样,每个地方固定一个值。而我这里是想让它每

2021-09-15 10:20:59 1229

原创 pid计算和发送电流

以工程中的Catching.c文件举例 pid_t Moto_Lift_Island_Pid_Pos[2];//在要计算pid的文件里面添加这个位置环结构体,如CatchingTask.c里面 pid_t Moto_Lift_Island_Pid_Spd[2]; //在要计算pid的文件里面添加这个速度环结构体 moto_measure_t Moto_Lift_Island[2];//在canbus_task.c里面添加 float pid_calc(pid_t* pid, float ge

2021-08-29 12:48:11 378

原创 陀陀陀螺仪

陀螺仪加速度计:accelerometer,单位g陀螺仪:gyro,单位度/秒加速度计:1.加速度计的本质是检测力而非加速度。只是加速度所引起的惯性力正好能被加速度计的检测装置所捕获。2.获取加速度计数据的方法。大多数加速度计可归为两类:数字和模拟。数字加速度计可通过I2C,SPI或USART方式获取信息,而模拟加速度计的输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。角度可以直接读到,速度要通过角速度转换,而角速度要通过分解得到...

2021-08-29 11:36:30 724 2

原创 CAN通信

CAN的通信速率按照电调的手册要求的1Mbps配置,71.42854142857473ns*(9+4+1)=1000ns=1us=1MbpsCAN总线的一个数据帧中所需要传输的有效数据是8byte(字节)。一帧完整的CAN报文就完全可以将所需要的数据发送出去,不许将数据拆分成许多不同的数据帧,对比遥控器的串口每次只能发送一个字节的数据,一帧完整的数据需要发送18个字节,减少了数据拼接时丢帧的可能(要丢就全丢了)GetMotorMeasure()是接收电调向总线上发送的数据。首先根据接收到的ID判断

2021-08-18 11:42:24 3476

原创 偷学一些电控

MCU:微控制器-------STM32/K60/LPC3780 168MHz无法跑非实时的操作系统-----Windows,MAC,LINUX能跑实时操作系统----FreeRTOS,RT-Thread面向实时性要求高的领域MPU:微处理器----A10/GHz能跑非实时OS----Windows,MAC,LINUX面向大数据处理-----AI算法,视觉RAM----内存 ROM----硬盘 处理器----SRAM ----FLASH 单片机

2021-08-13 10:12:23 70

原创 江科大单片机一些笔记

F103C8T6STM32F4使用Cortex-M4的内核,F1使用Cortex-M3的内核STLINK使用SWD的方式

2021-08-12 21:00:33 873

原创 练习2-10 计算分段函数[1]

本题目要求计算下列分段函数f(x)的值:公式输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10输出样例1:f(10.0) = 0.1输入样例2:0输出样例2:f(0.0) = 0.0void main(){ float x,result; scanf("%f",&x); if(x==0) { result=0.0; } else {

2021-07-25 23:49:50 90

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除