stm32
_杰杰_
一个超级可爱的杰杰ღ( ´・ᴗ・` )
展开
-
MQTT连接到阿里云物联
连接到阿里云物联既然懂得专门连接百度天工物接入,那么连接阿里云物联其实也是一样的,因为都是基于MQTT协议进行通信的,首先打开阿里云物联:https://iot.console.aliyun.com/product,创建账号并登陆,而且阿里云物联是需要通过实名认证才能使用的。相对于百度天工物接入,阿里云物联的安全性更好,因为即使是客户端连接服务器都需要各种验证,还使用哈希加密算法进行加密。使用阿里云物联下面开始使用阿里云物联,首先在“产品”信息中创建一个产品,每个产品下允许有多个设备,产品就是设备的原创 2020-10-24 10:37:48 · 6065 阅读 · 3 评论 -
STM32进阶之串口环形缓冲区实现
文章目录队列的概念队列的特点队列的常见两种形式普通队列环形队列从队列到串口缓冲区的实现定义一个结构体:初始化写入环形缓冲区的代码实现:读取缓冲区的数据的代码实现:测试效果补充喜欢就关注我吧!这篇文章是以前的文章改的,改为md语法队列的概念在此之前,我们来回顾一下队列的基本概念:队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许...原创 2019-10-15 22:35:38 · 6134 阅读 · 11 评论 -
继续学习FreeRTOS~
写在前面:杰杰这个月很忙~所以并没有时间更新,现在健身房闭馆装修,晚上有空就更新一下!其实在公众号没更新的这段日子,每天都有兄弟在来关注我的公众号,这让我受宠若惊,在这里谢谢大家的支持啦!!谢谢^在这里我们就跟着火哥的书来学习一下FreeRTOS的消息队列,这本书我觉得写得很好,基本都讲解到了,关于什么是消息队列,就请大家去看书,基础知识我暂时不说了。声明:本书绝大部分内容来自《FreeR...原创 2019-03-13 15:00:56 · 1066 阅读 · 7 评论 -
一种Cortex-M内核中的精确延时方法
本文介绍一种Cortex-M内核中的精确延时方法前言为什么要学习这种延时的方法?很多时候我们跑操作系统,就一般会占用一个硬件定时器——SysTick,而我们一般操作系统的时钟节拍一般是设置100-1000HZ,也就是1ms——10ms产生一次中断。很多裸机教程使用延时函数又是基于SysTick的,这样一来又难免产生冲突。很多人会说,不是还有定时器吗,定时器的计时是超级精确的。这点我不否认...原创 2018-11-10 20:37:39 · 8280 阅读 · 38 评论 -
纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
button drive杰杰自己写的一个按键驱动,支持单双击、连按、长按;采用回调处理按键事件(自定义消抖时间),使用只需3步,创建按键,按键事件与回调处理函数链接映射,周期检查按键。源码地址:https://github.com/jiejieTop/ButtonDrive。作者:杰杰前言前几天写了个按键驱动,参考了MulitButton的数据结构的用法,逻辑实现并不一样。在这里感谢所有...原创 2018-11-03 11:42:56 · 9292 阅读 · 1 评论 -
纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
前言前几天写了个按键驱动,参考了MulitButton的数据结构的用法,逻辑实现并不一样。在这里感谢所有的开源开发者,让我从中学到了很多,同时网络也是一个好平台,也希望所有的开发者能形成良性循环,从网络中学知识,回馈到网络中去。感谢MulitButton的作者0x1abin,感谢两位rtt的大佬:大法师、流光。Button_drive简介Button_drive是一个小巧的按键驱动,支持单...原创 2019-10-17 20:12:15 · 1735 阅读 · 1 评论 -
基于Linux的kfifo移植到STM32(支持os的互斥访问)
基于Linux的kfifo移植到STM32(支持os的互斥访问)关于kfifokfifo是内核里面的一个First In First Out数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务,最重要的一点是,它使用并行无锁编程技术,即当它用于只有一个入队线程和一个出队线程的场情时,两个线程可以并发操作,而不需要任何加锁行为,就可以保证kfifo的线程安全。具体什么是...原创 2018-09-29 15:40:07 · 3358 阅读 · 6 评论 -
STM32之串口DMA接收不定长数据
STM32之串口DMA接收不定长数据本文为杰杰原创,如需转载请说明出处引言在使用stm32或者其他单片机的时候,会经常使用到串口通讯,那么如何有效地接收数据呢?假如这段数据是不定长的有如何高效接收呢? 同学A:数据来了就会进入串口中断,在中断中读取数据就行了! 中断就是打断程序正常运行,怎么能保证高效呢?经常把主程序打断,主程序还要不要运行了? 同学B:串口...原创 2018-09-17 15:49:25 · 46745 阅读 · 25 评论 -
STM32之串口DMA接收不定长数据
STM32之串口DMA接收不定长数据引言在使用stm32或者其他单片机的时候,会经常使用到串口通讯,那么如何有效地接收数据呢?假如这段数据是不定长的有如何高效接收呢?同学A:数据来了就会进入串口中断,在中断中读取数据就行了!中断就是打断程序正常运行,怎么能保证高效呢?经常把主程序打断,主程序还要不要运行了?同学B:串口可以配置成用DMA的方式接收数据,等接收完毕就可以去读取了...原创 2019-09-08 12:44:17 · 2110 阅读 · 0 评论 -
数据处理相关源码
序 在我们的系统中,难免用到一些数据处理的东西,但是效率是个问题,在网上找到的资源也是乱七八糟的,所以现在的我自己处理一套验证过的demo,在我的github中,还会慢慢更新,现在我把写的一些数据处理相关的东西开源出来,写得不好,请多见谅~~大神们请绕道!!! 我的demo是基于stm32f103开发平台的,算是利用闲时时间整理的吧,把这些东西再整理一遍,以后使用时会很...原创 2018-08-30 21:05:49 · 783 阅读 · 2 评论 -
【干货】老外的GitHub整理的stm32f4驱动库
昨晚在github发现了一个老外自己整理的封装库,有很多,比如一些通讯啊啥的,一些显示屏驱动等等目录STM32F4Libraries and projectsHere are listed all libraries for STM32F4 devices.Libraries are designed to work with STM32F4xx series of MCU. ...原创 2018-05-03 13:57:49 · 9101 阅读 · 79 评论 -
【重写】简析stm32启动过程
说明:本文是杰杰以前保存下来的,出处已经不知道在哪了,应该是各大论坛中,当然转这种文章,到处都有。今天我就把它重写一遍。基于原作者的内容添加一些内容(源码)讲解。杰杰水平有限,出错在所难免,还望各位大神指点一二。startup_stm32f10x_cl.s互联型的STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F...转载 2018-06-01 20:48:09 · 9044 阅读 · 3 评论 -
嵌入式重定向 printf
学习stm32,打交道最多的莫过于串口通讯了,但是官方的串口发送库太恶心了,完全不好用甚是还念C语言的printf,想输出什么就有什么,现在,一步步来做个重定向,让你的stm32可以跟C语言一样能想看什么就看什么:首先:添加printf的头文件 : #include <stdio.h> //当时学C语言最熟悉的stdio.h其次:改写int fputc(int ch, FILE...原创 2018-06-04 11:51:20 · 3098 阅读 · 2 评论 -
STM32进阶之串口环形缓冲区实现
如需转载请说明出处:STM32进阶之串口环形缓冲区实现队列的概念在此之前,我们来回顾一下队列的基本概念:队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除(出队)。队列的特点类似售票排队窗口,先到的人看到能先买到票,然后先走,后来的人只能后买到票队列的常见两种形式...原创 2018-06-04 10:03:13 · 38976 阅读 · 36 评论