自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C库里面的字符串操作函数(百问网7天物联网智能家居笔记6)

C库里面的字符串操作函数● strlen○ 用于计算指定字符串的长度 。○ 参数是字符串的首地址,以‘\0’结尾(计算结果不包含‘\0’)○ 返回字符串的长度,unsigned int类型 非负整数● strcat○ 用于两个字符串的拼接○ 将参数2的字符串 连接到 参数1的尾部,‘\0’也会追加过去,也就是实现 拼接到 字符串尾部的效果○ 成功返回新字符串的首地址,也就是目标字符串(参数1)的首地址,失败返回NULL● strncat○ 类似strcat的升

2022-06-12 21:21:18 116 1

原创 MQTT基础知识点(百问网7天物联网智能家居笔记7)

MQTT 的基础知识● MQTT的是基于发布/订阅的方式进行的网络通信协议 ,常用于物联网中。○ 其中发布和订阅是基于主题topic来发送消息的○ MQTT是再TCP协议上实现的网络通信协议。● 在MQTT的通信过程中的两个动作:订阅和发布,是由客户端和服务器来参与完成的。一个客户端既可以是订阅者,也可以是发布者。● 客户端(client)○ 可以向MQTT服务器上传很多个topic的消息,也能订阅MQTT服务器支持转发的多个topic○ MQTT的客户端想要长期和服务器保持连接,

2022-06-10 12:46:48 1845

原创 裸机增加移植FreeRTOS(百问网7天物联网智能家居笔记5)

2. 新建FreeRTOSConfig.h● 根据官方参考和实际需求添加修改‘○ 系统时钟■ configCPU_CLOCK_HZ● CPU时钟,就是我们常说的主频。注意:单位是Hz。● 如:STM32F407主频为168M:#define configCPU_CLOCK_HZ (168000000)■ configSYSTICK_CLOCK_HZ● 这个需要确认下■ configTICK_RATE_HZ● 系统滴答,即系统每秒钟滴答的次数,可以说是系统的心跳,但需要和主频区分

2022-06-05 21:19:01 929

原创 自己移植官方HAL文件和配置基础工程(百问网7天物联网智能家居笔记4)

基础工程文件添加● 新建自己的工程文件夹需要官方的CMSIS、HAL库文件, 中断文件、系统配置文件、启动文件● 将HAL库下的 Driver 目录的 CMSIS 和 HAL_Driver ==> 7_HAL● 移植 HAL 库的配置文件,文件名改为:stm32f1xx_hal_conf.h● 移植系统配置文件.c 和 。h:● 添加启动文件:● 添加管理中断的源文件和头文件● 工程里添加文件● 设置 MDK 工程:○ 编译器选择 version 5○ 选择全局宏:

2022-06-05 21:00:29 567

原创 框架搭建与新建工程(百问网7天物联网智能家居笔记1)

● 一个确切需求的项目进行应用拆分,构建一个较为科学规范的系统结构。● 让一个开发者对自己要做的事情,有一个清晰的认识,并且同时做好了设计开发的计划,那么后面的事情就是根据这个计划节奏按部就班的做事情就好针对本次物联网智能家居的需求,进行分析● Mini开发板和服务器进行网络通信,使服务器可以下发命令控制开发板的LED,且可以将开发板上的按键信息上传给服务器● 一看就会,一做就废○ 看了很多基础视频,看了很多例程,看视频的时候好像清楚该怎么写了,但是一旦脱离视频轮到自己动手的时候就只能

2022-06-05 20:44:27 271

原创 系统时钟的配置、半主机模式(百问网7天物联网智能家居笔记3)

● 根据STM32F1XX的参考手册RCC部分,我们可以看到有两个章节都是关于RCC的(第七章和第八章)● 这是对应不同规格处理器做的不同说明,一个使用通用存储容量型的处理器,另一个使用的是串联通信型的处理器○ STM32F103是第七章的那种类型的处理器 , 在手册的最前方有说明 :● 以系统时钟SYSCLK处为界限● 我们可以将F103的时钟配置分为两部分 :○ 配置系统时钟 (时钟树的左侧分析)■ 系统时钟源可以来自三个方向,一个是内部高速时钟HSI,一个是PLL输出

2022-06-05 20:34:45 957

原创 基础程序的设计(百问网7天物联网智能家居笔记2)

● 为什么要有一个main函数?○ 从stm32f103的启动代码分析: ■ 这段汇编代码表达的意思是,当启动文件的代码执行到这一段的时候,会首先调用外部函数SystemInit , 然后再去调用__main 。 这个【__main】是C库中的函数,C库手册对其的解释是: ■ 在第三条,跳转到【_rt_entry】 , 这个函数也是C库中的,它的解释是:● main函数之前都做了什么动作:( 也就是说处理器从上电启动开始 )○ 第一步是注册中断向量表,第二部是调用Syste

2022-06-05 20:27:05 245

原创 7_STM32的串口和调试串口_韦老师物联网课

STM32 的串口● USART和UART的区别:○ USART支持同步通信,该模式有一根时钟线提供时钟 。○ STM32F103系列最多有3个通用同步异步收发器( Universal synchronous asynchronous receiver transmitter, USART), 2个通用异步收发器( Universalasynchronous receiver transmitter, UART)● 串口在嵌入式中经常使用,一般使用UART就足够作为调试口,打印程序运行的状态信

2022-03-28 22:56:10 5587

原创 6_通信的基础知识_韦老师物联网课

串行/并行通信● 串行通信简单的说就是数据依次传输,比如要传输0x11111111,一位一位的发送,需要发送8次。● 并行通信则是几个数据一起传输,同样是0x11111111,如果8位一起发送,只需要发送1次 。○ 串行通信就像单车道,行驶的车辆需要依次行驶。并行通信就像多车道,同时多辆汽车并排行驶。但当车速很快的时候,多车道上并列行驶的汽车之间会形成“气流”相互干扰,单车道则受影响较小,速度能够进一步提升 。全双工/半双工/单工传输● 按照数据传输的方向,通信可以分为全双工、半双工和单工。○

2022-03-28 20:49:15 265

原创 5_中断_韦老师物联网课

Cortex-M3 的中断和优先级● 异常和中断的效果基本一致,都是暂停当前任务,优先执行紧急事件,因此一般将中断和异常统称为中断○ 把CPU内部产生的紧急事件叫做异常,比如非法指令(除零)、地址访问越界等;○ 来自CPU外部的片上外设产生的紧急事件叫做中断,比如GPIO引脚电平变化、定时器溢出等。● ARM公司设计了Cortex-M3内核,这个内核就包含了中断系统框架,对应资料“CortexM3权威指南.pdf”,后简称《CM3权威指南》。○ 《CM3权威指南》讲解的是Cortex-M3内核的

2022-03-27 20:56:05 4421

原创 4_时钟与GPIO_韦老师物联网课

单片机时钟● 现代计算机系统中必定有时钟● 高级的单片机系统中,存在不同频率的时钟STM32 时钟树● ①HSI( 内部高速时钟)● ②HSE(外部高速时钟)● ③LSE(外部低速时钟)● ④LSI(内部低速时钟)为时钟源● ⑥系统时钟SYSCLK最高为72MHz● ⑦高速接口总线AHB由⑥SYSCLK系统时钟分频得到,最高是系统时钟的72MHz。● ⑧外设总线APB1和⑨外设总线APB2,来源于⑦高速接口总线AHB, APB1的输出时钟最高是36MHz, APB2的输出时钟最高是72M

2022-03-27 20:25:48 3927

原创 3_STM32结构和单片机开发模式的发展_韦老师物联网课

一款新芯片的上手思路去芯片原厂官网,下载资料。● 《数据手册》(Product Specifications)● 《参考手册》(Reference Manuals)下载公板或者其它开发板配套资料● 《原理图》根据 《原理图》 分析● 最小系统根据示例程序和《参考手册》编写程序最小系统● 用最少的电路组成单片机可以工作的系统。● 最小系统包含:电源电路时钟电路复位电路调试/下载电路● 怎么仿真单步调试:○ 需要 JTAG(Joint Test Action Group)

2022-03-20 21:49:23 1621

原创 1_基础概念介绍_韦老师物联网课

什么是ARM(Advanced RISC Machines)● 一家设计处理器架构的公司。● 采用 ARM 公司提供方案设计的处理器芯片统称。ARM 结构的分类● A 应用程序型(Application Processor)● R 事实控制器型(Real TIme Controller)● M 微控制器型(Microcontroller Processor)■ Cortex-M3/M4基于 ARM 的 STM32 处理器● STM32就是ST公司基于ARM Cortex- M系列内核设计的

2022-03-20 15:36:20 3163

原创 2_学习嵌入式MCU,应该关注哪些官方资料_韦老师物联网课

原厂要关注的资料换一款MCU, 要学会怎么去下载关键资料:数据手册和参考手册。以 STM32 为例:STM32系列的MCU,通常还会有: 《Cortex-M3/M4编程手册》,《闪存编程手册》,《勘误手册》,《原厂固件包示例源码》,《原厂固件包用户手册》,《HAL库用户手册》。STM32系列的MCU,通常还会有: 《Cortex-M3/M4编程手册》,《闪存编程手册》,《勘误手册》,《原厂固件包示例源码》,《原厂固件包用户手册》,《HAL库用户手册》。“Product Specif

2022-02-13 17:15:53 1751

原创 C和指针_ch7

7.11_3函数把数字字符串转换成整数,并返回这个整数#include "stdio.h"#include "string.h"int ascii_to_interger(char *string){ int value = 0; //逐个把字符串的字符转换为数字 while (*string >= '0' && *string <= '9') { value *= 10; value += *string - '0'; string++;

2020-12-01 23:11:37 74

原创 链表

创建链表,并输出显示各个节点#include <stdio.h>#include <malloc>struct Node{ int data; //数据域 struct Node *pNext; //指针域}//函数声明struct Node *create_list(void);int main(void){ struct Node *pHead = NULL; //创建头节点 pHead = create_list(); //create_lis

2020-11-24 20:42:07 76

转载 C和指针_6指针

6.18-3编写函数reverse_string,把参数字符串中的字符反向排列void reverse_string(char *str){ char *last_str; for (last_str = str; *last_str != '\0'; last_str++) ; while (str < last_str) { char temp; temp = *str; *str = *last_str; *last_str = temp; str++;

2020-10-30 20:56:54 90

原创 C和指针_左值和右值

左值和右值左值标识了一个特定的内存位置。间接访问和下标引用的结果是个左值。右值指定的一个值,该值存储在内存的某个位置。所以字面值常量不是左值,只能是个右值。常量左值意味着一个位置,右值意味着一个值。所以,在使用右值的地方也可以使用左值,但是在需要左值的地方不能使用右值。...

2020-10-28 19:18:39 212

空空如也

空空如也

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

TA关注的人

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