自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 (六)FreeRTOS软件定时器、事件组、内存管理

软件定时器 为了周期性处理某些事务,每个MCU都自带几个硬件定时器,FreeRTOS也是实现了定时器,不过是软件层面上的,所以精度自然没有硬件定时器高,但是处理某些精度要求不高的事务还是够的。 像MCU上的硬件定时器一样,我们希望定时器经过一个周期之后就能反馈一定的动作。所以软件定时器中也需要中我们也要自己实现回调函数,但是在定时回调函数中不能调用任何回阻塞任务的A...

2019-10-14 15:21:07 1017 1

原创 (五)FreeRTOS信号量

信号量包括二值信号量、互斥信号量、计数型信号量、递归互斥信号量,用于管理共享资源以及任务间的同步,利用信号量值代表信号量的情况,当申请信号量时,信号量值会减一,当释放信号量时,信号量值会加一,所以任务间要共享某个变量或者要进行同步时,只需要查询信号量中的信号量值是否满足。二值信号量舍友B在洗澡,占了浴室,而浴室一般是一个人在里面洗澡,并且锁上门,这时候舍友A跑再快去浴室也没...

2019-10-14 15:11:06 842

原创 (四)FreeRTOS队列

在没有使用队列之前,任务之间的通信是通过共享全局变量或者传递指针参数来进行消息传递,但是全局变量一旦使用多了就会占用很大的资源,在操作系统中,这就会涉及到资源管理的问题。操作系统需要管理有限的资源,进而产生了队列,解决了任务与任务、中断与中断、任务与中断的通信问题,任务与任务、任务与中断之间要交流的数据保存在队列中,这就叫做队列项目。而队列中能存储的数据是有限的,每个数据项目大小是固...

2019-10-14 14:59:23 2262

原创 (三)FreeRTOS调度器开启过程分析

Main函数中创建完任务后,当前的任务指针pxCurrentTCB就指向了第一个任务,但是此时系统并未启动,还需要启动任务调度器,任务调度器才是整个系统的核心,在启动器中创建了一个空闲任务,最主要的是启动软件定时器和初始化了一些中断、启动第一个任务。//...符号是删除了一些不是很重要的源码void vTaskStartScheduler( void ){ BaseT...

2019-10-14 14:49:14 908

原创 (二)FreeRTOS列表及列表项

FreeRTOS管理任务中一个相当重要的数据结构就是列表和列表项,FreeRTOS创建完成后,是一个个独立的个体,如果没有一个约束的关系,那么调度器是是无法分配的,列表和列表项将这些独立的任务的串起来,然后调度器根据每个列表项中的信息来决定哪个任务获得CPU使用权。列表:在FreeRTOS中用以跟踪任务,在源码中的结构也是比较简单的缩减后就是一个简单的表格:...

2019-10-14 14:29:31 527

原创 (一)FreeRTOS任务初识

一、初识任务 引入FreeRTOS操作系统是因为需要其并发行,如何实现并发性就是通过多个任务实行抢占式调度来达到多个任务同时运行的假象,与单纯的裸机程序不同,操作系统中为每个任务都分配了一个时间片,但是FreeRTOS支持抢占式调度,由调度器来决定哪个任务先运行,哪个任务后运行,高优先级任务可以打断低优先级任务的运行,等待高优先级任务完成后,再将CPU使用权交出去,给低优先级任...

2019-10-13 21:01:24 967

原创 修改openwrt页面配置工具—uci(+源码)

UCI UCI (Unified Configuration Interface, 统一配置接口)是openwrt的一种页面配置工具,通过该工具可以直接配置openwrt的一些信息,用户只管信息的填写。uci使用lua语言进行开发,lua语言语法比较简单,所以入手编写还是较快的。动手增加功能 前面说到,openwrt是一个高度模块化的系统,所以我们可以试着去改uci界面,这...

2019-08-10 10:37:52 2123

原创 stm32串口中断、DMA接收/发送应用(结尾奉上整个工程)

串口接收/发送有三种模式:中断、轮询、DMA,轮询方式并不推荐,也不经常使用,这里主要看的是中断和DMA方式。 中断: 串口触发中断两种方式:RXNE、IDLE,一种是接收到一个数据接中断一次,一种是等待数据发送完了,产生一个桢中断。第一种方式明显不好,原因有两个:1.接收一个数据就中断一次去处理数据,数据多的话,程序老是被被打断,这样有可能会产生不好的效果。推荐还是一...

2019-08-06 20:44:54 6619 3

原创 面试题之二:中断服务函数

中断问题也是面试嵌入式岗位时,面试官比较喜欢拷问的问题之一,作为一个嵌入式开发人员,自然少不了与中断打交道,裸机程序中作为前台服务程序,发挥着重要的作用。中断服务函数应该注意的四大点:1.中断服务函数不能传入参数;2.中断服务函数不能有返回值;3.中断服务函数应做到短小精悍;4.不要在中断函数中使用printf函数,会带来重入和性能问题中断并不是程序一开始就判断好会在那...

2019-08-05 22:54:25 7211

原创 浅析 stm32 定时器中断、PWM、输入捕获信号

一、定时器: 定时器的时钟来源四个:1.内部时钟(CK_INT)(常用)2.外部时钟模式1:外部输入脚(TIx)3.外部时钟模式2:外部触发输入(ETR)(仅适用TIM2,3,4)4.内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器 大多数情况下选择内部时钟作...

2019-08-05 20:22:41 2521 1

原创 (char型指针) && (int 型指针)

无论是char型指针、int型指针还是其它类型指针在大小上面是相同的,在32位机下面他们的大小都是4个字节。测试程序:#include <stdio.h>int main(void){int *a;char *b;float *c;double *d;printf(“a = %d\n”,sizeof(a));printf(“b = %d\n”,sizeof(b));...

2019-08-04 09:33:03 584

原创 Mqtt客户端 安卓软件(外国版本)

话不多说,资源奉上https://pan.baidu.com/s/1H05-5nqRzLiH318munn66A提取码:h984

2019-07-23 15:23:38 2065 2

原创 ESP8266开发笔记(五)

Web配置修改wifi接入点:主要流程是:往8266中写入一个httpserver; 8266开放热点,外界连接改热点; 将预先写好的静态网页界面放入设备中; 设备开始监听外界接入情况,当外界访问其IP地址时,将静态页面发出 用户在静态界面配置相关信息,通过静态页面返回,配置上网。由于本人没怎么接触过前端知识,故只能借用大神写的一个小型TcpServer文件,搭配静态界面。...

2019-07-23 08:55:46 228

原创 ESP8266开发笔记(四)

一、建立TCP客户端 a)配置设备连入网络 b)配置服务器的地址与端口 c)调用连接API直接上程序:wifi.setmode(wifi.STATIONAP)cfg={}cfg.ssid="wifi8266" cfg.pwd="12345678"wifi.ap.config(cfg) --AP模式配...

2019-07-22 15:13:44 255

原创 ESP8266开发笔记(三)

一、8266通讯引脚二、通讯方式三、驱动方式一、8266通讯引脚 8266通讯引脚在右上方,可用通讯串口只有一个,为串口0二、通讯方式 全双工异步通讯三、驱动方式 由于通讯串口只有一个(串口0),所以需要我们做的事情非常少,仅需要注册串口,然后利用定时器来监听串口数据。串口注册API:uart.on(m...

2019-07-22 15:10:02 335

原创 ESP8266开发笔记(二)

一、相关资料https://nodemcu.readthedocs.io/en/master/modules/wifi/(新版本API) https://www.bilibili.com/video/av22926769/?p=3(开发视频教程) https://github.com/TuShen121/ESP8266-nodeMCU-LUA(开发源码) https://gitee.co...

2019-07-22 15:04:30 289

原创 ESP8266开发笔记(一)

一、 Jdk环境搭建 二、 刷支持lua的固件 三、 Lua语言初识 四、 总结**一、Jdk环境搭建** Jdk环境搭建,环境变量设置,网上教程一大把,不再重复,别人都写得详细,就看看别人写的吧! https://blog.csdn.net/dianzishi123/article/details/8...

2019-07-22 14:57:28 431

原创 ESP8266利用lua语言开发遇到的一些问题及解决方法

一、固件问题构建固件时要清楚自己需要什么功能,选择相应的固件一旦程序编译过程中出现创建xx失败,像这种问题,一般是固件没有添加进去可对比一下最初构建固件时选择了哪些,如果都有了,那就是语法错误。检查下API是否改变,或者检查其中的参数二、中文注释不要在文件中添加中文注释,因为编译器并不支持中文,有时候会导致出错三、8266固件默认是从init.lua文件中启动,所以应该将第一个启...

2019-07-22 14:48:32 1664 2

原创 面试题之一:堆栈区别

一、 堆栈简介栈是编译器自动申请与分配,程序员无法进行控制的顺序线性结构,在程序结束时,由系统进行回收,堆是一种需要程序员手动申请的链表结构,申请的内存空间需要程序员手动释放,程序员不释放时系统可能回收。

2019-07-14 09:12:31 1292

原创 从 0 点亮一个LED灯

主要内容为两大块:一、准备工作 1.查看原理图 2.查看芯片手册二、动手编程 1.了解arm的框架以及启动流程 2.需要用到的汇编指令 3.几条makefile语句 4.通过汇编点亮LED灯 5.通过C语言点亮LED灯三、总结一、准备工作1.查看原理图每块板子刚买来的时候肯定会附有原理图,这里使用的是S3C2440从原理可以看出nLED1是连接到芯片上的GPF4引脚...

2019-07-05 11:16:35 401

原创 稳恒(有人透传云)NBIOT模块使用指南(2)

接上一篇https://mp.csdn.net/postedit/90445213解决问题上一篇留下两个待解决问题: 1.发现数据在上传一段时间后,在激活网络过程中程序死机。 2.没有实现控制多个终端的效果。 第一个问题怀疑是串口通讯问题,串口上报数据指令与发送激活网络指令时间刚好撞在一起,导致串口卡死,最终导致程序死机,暂时只能尽可能错开两个发送时间,或者...

2019-05-22 19:58:15 2611

原创 稳恒(有人透传云)NBIOT模块使用指南(1)

在利用这个模块进行开发,发现官方给的资料让我看得头大,网上资料也不多,就跟大家分享一下。一、模块介绍NB模块选择的是稳恒插针式NB—73,资料相对来说有点少,介绍的也不是很全,网页搜索也少有人用这家公司的NB芯片进行开发。通信方式: 根据官方介绍该通信方式是利用串口发送AT指令进行通信,如下图二、模块原理图利用串口进行通信,那么就选择串口1就...

2019-05-22 15:49:03 4383 6

原创 有趣的位运算符——进行基本的算数运算

偶尔在一本书上利用位运算符进行加减乘除,发现很有趣**加法运算:**加法运算所有其它运算的核心,减法运算是加法运算,乘法运算是加法运算,除法运算也是间接的的加法运算。普通的二进制加法运算是(不考虑进位):0 + 0=00 + 1=11 + 0=11 + 1=0发现可以用位运算符号来代替:0 ^ 0=00 ^ 1=11 ^ 0=...

2019-05-12 18:41:47 253

原创 程序内存分布

在认识内存分布之前,先认识全局变量、局部变量、静态变量从作用域上分: 1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern关键字再次声明这个全局变量。 2>静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对...

2019-05-07 15:34:13 209

原创 解决stm32f103通过stlink不能烧录程序问题

问题: stm32(stm32f103c8T6)开发板只能通过串口烧录程序,而st—link居然不行描述: 解决:st-link固件升级 用stm32cubemx快速开发时没有配置好调试模式重新生成代码就可以了 3.如果还是不行的话,就得升级一下stlink固件了,具体升级方法可百度,如果需要可以私聊...

2019-05-07 12:07:12 9445 2

原创 指针 & 数组

数组篇数组简单理解就是(基础数据类型)+变量名+‘[]’,‘[]’内的每一个元素类型大小保持一致。图非原创假设有一个int a[5]那么sizeof(a)?sizeof(a[0])?sizeof(a+1)?sizeof(&a)?sizeof(&a+1)呢?这里的a是代表的是数组首元素首地址,a[0]代表的是首元素的地址,虽然他们的地址相同,但是意义不同...

2019-04-25 13:11:17 153

原创 指针 & 数组

指针是指针,数组是数组指针篇究竟什么是指针?什么是数组?指针和数组是什么关系? 维基百科上面是这样给指针一个概论:在计算机科学中,指针是一种最简单形式的引用(reference)。指针有两种含义,一是作为数据类型,二是作为实体。前者如字符指针、浮点指针等等;后者如指针对象、指针变量等。指针作为数据类型,可以从一个函数类型、一个对象类型或者一个不完备类型中导出...

2019-04-25 13:09:53 138

原创 内存对齐

问题: 在一本书上看到了内存对齐,脑袋突然转不过来,看了作者解释了一大通,还是没能体会到,无奈~~~解决: 当然是寻找广大网友,看了网友的解释,我才理解了作者文字中的意思,但是对于刚看到这句话时候的我,真的反应不过来。引用:(以下是引用别人对于内存规则的讲解,个人觉得较好理解) 1.对于结构的各个成员,第一个成员位于偏移为0的位置,以后的每个数据成员的偏移量必...

2019-04-11 12:43:36 312

原创 C语言关键字 笔记

关键字C语言共有32个关键词 理解关键字之前先区分声明和下定义的区别下定义:编译器创建一个对象,并且为这个对象分配一块内存,且赋予它名字。声明:1、告诉编译器这个变量已经在别的地方分配了;2、告诉编译器,这名字我先预定了,其它地方不能再那这个名字去为对象命名。定义也是声明:定义分配了内存空间,而声明没有。Register 关键字要求编译器经可能将变量...

2019-04-10 19:46:22 577

原创 ubuntu16.04配置桥接模式上网拼主机 问题解决

又是被Linux支配的一个晚上,道路坎坷每次从家里回到学校,或者学校回到家,前几天刚刚配置好的Linux又不能上网一、直接点击图形界面的流量信号在这个界面,按照我图片中的步骤,一步一步根据自己的电脑配置去配置,如果不知道自己的配置可以在搜索栏打入cmd,输入config/all就可以查到自己电脑的所有配置,然后填进去即可 然后下面就是大众配置了,点击...

2019-04-10 14:03:21 716

原创 正点原子STM32F407+ESP8266中篇补充

这一篇补充一下关于生成中代码中的几个主要接口的使用gizwitsSetMode(WIFI_AIRLINK_MODE)WiFi芯片模式设置接口,按照官方给的代码,芯片有六种模式,不过常用的也就只有两种:1、WIFI_SOFTAP_MODEWIFI_AIRLINK_MOD具体想知道分别是什么功能,可以看官方文档...

2019-04-07 11:06:53 1295

原创 正点原子STM32F407+ESP8266开发中篇

上篇说机智云人性化,是因为机智云公司帮助我们把网络协议代码都写好了(此处说明我不是机智云公司的托,只是为了完成自己的项目,偶然发现这家公司)。固件烧写好了,当然是码代码驱动了(其实也不用做什么只要知道里面几个主要函数在干嘛,调用就行)一、下载代码(此处你要先了解部分机制云代码)这里我默认你已经懂得了机智云服务器上的操作方法了,包括数据点的增加删除,应用,模拟等等(不懂就得去看文档,...

2019-04-07 10:45:22 4031

原创 正点原子STM32F407+ESP8266开发上篇

说起机智云,真是对物联网技术小白来说太人性化了,对物联网感兴趣的的小白,只需会学会看懂代码中的接口,可以先不用学会网络协议(当然这个肯定要学的),即可轻松将数据上传到云端,废话不多说,直接给教程(其实官网已经给了)。芯片固件烧写1)固件下载地址http://docs.gizwits.com/zh-cn/deviceDev/ESP8266串口烧写说明.html2)...

2019-04-07 10:27:45 6336 1

原创 STM32串口通讯问题

关于STM32,本人还是小白,以下是我在串口遇到的一些问题总结及解决方法,希望能帮到你 1、乱码问题,首先考虑的是波特率问题(波特率要统一) 2、上位机接收不到数据(前提是代码逻辑没问题),还是波特率问题。 3、使用DMA发送/接收,串口数据只出现一次或者完全不出现 1)检查是否在中断函数中添加了接收函数 2)检查是否...

2019-04-07 10:05:00 2020

原创 爬虫scrapy框架中那些坑

爬虫库的下载真的是个坑来的,适合初学者学习爬虫的一个网站:http://www.scrapyd.cn/doc/181.html   这里要感谢网站开发者Scrapy库不支持Python3,网上有各种教程去应对配置,但是对于没有耐心的,还是不要轻易尝试,不然真的很容易奔溃。安装scrapy库最好使用是工具Anaconda,一键式操作(但为了保险起见,最好一开始以管理员身份运行,绕开一些不必要的麻烦)...

2018-06-20 17:43:05 3338

最新最全三星S5P6818芯片手册

包含底板资料,三星S5P6818最新最全资料,还有其它的一些芯片资料

2019-09-18

stm32f407驱动ws2818全彩灯(7灯)

SMT32F407驱动ws2818 7彩色灯版,不同开发板时钟频率不同,可根据代码和相应时序进行调整

2019-04-07

空空如也

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

TA关注的人

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