自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于LL库STM32F103的串口DMA发送

什么意思呢,就是让DMA进中断的时候不要进行数据的拷贝,也就是传输完成的时候缓冲区中的数据不要有变化,否则会引起数据错乱,这点很关键,在开头引用的一篇文章中指出。注意DMA模式为normal,如果设置为连续模式则一旦开启DMA数据不断传输,如果想把DMA的数据拷贝到缓冲区时DMA传输是不会停止的,开启normal的好处是DMA每初始化一次开启一次,数据传输到串口时用户可以设置传输完成中断进行处理然后再开启DMA。CNDTR寄存器值变为了0,可知DMA发送区长度变为了0,即将缓冲区的数据全部发送到了串口。

2023-09-23 23:06:26 898 1

原创 LL库 printf重定向

#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else #define PUTCHAR_PROTOTYPE int fputc(int ch,FILE *f)#endifPUTCHAR_PROTOTYPE { LL_USART_TransmitData8(USART1,(uint8_t)ch); while(!LL_USART_IsActiveFlag_TXE(USART1));.

2022-03-31 16:10:31 580 2

原创 imx6u ping通PC

我的imx6u通过网线连接PC,总是ping不通,最后发现问题的关键是ubuntu设置:编辑中有一个虚拟网络编辑器,点开后 :点击更改设置:关键就是这个桥接模式已桥接至哪里,要选择你的网卡,要和windows下一致,查看windows连接网卡:在network上右键属性:->更改适配器设置:其他都要禁用,而这个以太网下的一行就是你的网卡设备。设置好以后回到刚才的ubuntu设置界面,进入虚拟机设置:设置完毕。IP设置和PC一个网段就行。..

2022-03-04 09:54:26 661

原创 ARMlinux Makefile分析 根据原子哥

原子哥的教程中对Makefile有详细的分析,根据他的讲解我又整理了一下。ARM_GCC ?= arm-linux-gnueabihf-TARGET ?= bspGCC := $(ARM_GCC)gcc LD := $(ARM_GCC)ld OBJCOPY := $(ARM_GCC)objcopyOBJDUMP := $(ARM_GCC)objdump INCS := imx6ull \ bsp/clk \ bsp/led \

2022-02-21 17:41:27 234

原创 HAL库驱动EC11 利用STM32encode解码 编码器中断

关于EC11的原理就不说了,网上有很多资料,但是大都采用轮询去调用,有的除了开了编码器TIMER外还开了一个TIMER去轮询,工程大了之后很浪费资源,但是编码器其实也是基于TIMER的,那么编码器中断也是基于定时器的中断,本篇博客利用编码器的定时器溢出中断,相当于只在EC11动作的时候触发中断,具体HAL库配置如下:第一步开启外部晶振:第二步设置调试方式,这里我用的STLINK。第三步设置TIM2Encode编码器,这里注意只能是ch1ch2才有硬件解码功能。分频值之所以设置为2,.

2022-01-05 11:51:24 3203 6

原创 linux kfifo解析

kfifo

2021-11-25 17:03:35 392

原创 ucosii学习小记

任务就绪列表及任务调度八位二进制变量OSRdyGrp的每一位对应OSRdyTbl[]的一个元素,而OSRdyTbl[]的每一个元素是一个八位二进制数,每个位对应一个任务的状态,1为就绪,0为非就绪,因此ucosii共有8*8 = 64个任务。对应下图:可以将优先级别看作是一个6位的二进制数,将高三位指明是OSRdyGrp的第几个元素,低三位指明是OSRdyTbl的第几位,如优先级别为30,二进制为011110,在OSRdyGrp的D3位置置1,在OSRdyTbl[3]处的D6置1.登记该任.

2021-11-18 16:31:17 224

原创 C语言环形队列

#include <stdio.h>#define Len 6unsigned char Input_Buff[6] = {0}; //用户输入缓冲区unsigned char Input_Num = 0; //输入队列数据字节数unsigned char Output_Num = 0; //从队列取出的数据字节数struct Queue{ unsigned char Buffer[Len]; unsigned char* Head; .

2021-11-03 21:55:15 1443

原创 指针函数数组

#include "stdio.h"int mode = 0,a = 0;void func1(void);void func2(void);void func3(void);void func1(void) { printf("这是第一个函数\n"); }void func2(void) { printf("这是第二个函数\n");}void func3(void) { printf("这是第三个函数\n");}int main() { void (*pfunc[3]).

2021-07-23 12:01:11 477 3

原创 二维数组和指针 超简洁

#include "stdio.h"int temp[2][4] = {{ 1,2,3,6 } , { 5,4,7,9 }};int main() { printf("%d\n" , **temp); printf("%d\n",**(temp + 1)); printf("%d\n", *(*(temp + 1) + 1)); return 0;}自定义了一个二维数组temp[2][4],其又相当于两个一维数组合并,每个一维数组有四个元素..

2021-07-22 21:10:53 91

空空如也

空空如也

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

TA关注的人

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