自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (4)
  • 收藏
  • 关注

原创 NXP:LPC5500之LPC55S69学习记录

一、熟悉nxp平台,学会自己搜索资料1、大致的看看NXP的产品好了 资源找到了用户手册、参考手册、数据手册。。。。。。开始学习吧二、环境搭建1、下载对应的pack:http://www.keil.com/dd2/nxp/lpc55s69/...

2019-08-28 14:58:01 2503 1

原创 KEIL4以及KEIL5配色方案

这是KEIL4的配色(请点击图片查看全屏真实效果)这是KEIL5的配色效果(请点击图片查看全屏真实效果)比较符合我的审美,长期使用疲劳度个人感觉已经在力所能及的范围内降到极低,我很喜欢,同时献给大家,愿每个嵌入式开发者远离疲劳。注:我上传的都是global.prop文件,该文件即KEIL配色的配置文件。我也不晓得KEIL4与KEIL5的配置文件是否兼容,故KEIL4和KEIL5...

2019-08-02 15:26:54 15844 14

原创 复习一下STM32的时钟树

首先,上图,大名鼎鼎的时钟树图,该图位于STM32参考手册RCC章节7.2时钟(第80页)接下来,分析这棵树/*****************************************关于时钟:system_stm32f10x.c中有如下说明*******************************************///STM32的4类时钟://外部时钟H...

2019-08-01 10:57:18 370 2

转载 关于STM32的服用功能与重映射

4.4.1 端口复用功能 STM32 有很多的内置外设,这些外设的外部引脚都是与 GPIO 复用的。也就是说,一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。 这部分知识在《STM32 中文参考手册 V10》的P109,P116~P121 有详细的讲解哪些 GPIO 管脚是 可以复用为哪些内置外设的。这里我们就不一...

2019-07-26 11:23:37 610 1

转载 KEIL仿真调试问题

Q1:如何使用keil调试程序A1:第一个表示跳转到下一个程序状态,第二个表示跳转到下一行(在主程序中的时候也是直接跳转到主程序的下一行,第三个表示)watch窗口可以查看变量的数值。Q2、使用MDK进行软件设计时没有使用ST官方的模板而是手动建立的工程,使用ST官方提供的3.5版本固件库。编译完全通过,在使用软件仿真时出现问题,表现为程序无法跳转到main入口,直接在S...

2019-07-08 16:36:05 2932

原创 以STMF103为例总结时钟树

/*****************************************关于时钟:system_stm32f10x.c中有如下说明*******************************************///STM32的4类时钟://外部时钟HSE:高速外部时钟信号,精度高。来源:(1)HSE外部晶体/陶瓷谐振器(晶振) ;(2)HSE用户外部时钟//外部时钟L...

2019-06-24 09:14:36 342

原创 基于STM32F103的Modbus通讯(32做从机)

最近做了个实验,用STM32做从机接收主机发送过来的数据包(也是基于mobus协议),而后从机将一些数据发送给主机。首先呢还是介绍下modbus协议。其实modbus协议你不需要了解太多。既然是要使用,那么你只需要明白一点,modbus协议就是在你要发送的数据的基础上,在数据前面加上一个帧头,数据后面加一个帧尾。嗯,是不是还是有点迷?举个例子吧。所以主机会发过来一帧数据:01 03 0...

2019-06-14 10:50:51 30627 11

原创 STM32F103之USART接收数据(基于RS485与RS232通信)

(RXNE中断和IDLE中断的区别?当接收到1个字节,就会产生RXNE中断,当接收到一帧数据,就会产生IDLE中断。比如给单片机一次性发送了8个字节,就会产生8次RXNE中断,1次IDLE中断。于是我决定在产生RXNE中断时将接收到的一个字节的数据用数组保存起来。在产生IDLE中断的时候,改变ReceivedFlag(自己定义的一个检测帧数据接收完成状态的标志)的状态。main.c:#...

2019-06-06 10:27:39 11842 1

转载 基于STM32F103单片机的RS485通信实验之硬件

https://blog.csdn.net/lin_duo/article/details/78490718485通信非自动收发电路:当单片机要发送数据的时候,控制U3_TEN 为高电平,数据通过TXD发送出去。当单片机要接收数据的时候,控制U3_TEN为低电平,数据通过RXD接收回来。485通信自动收发电路:自动收发电路,就是不用单片机引脚U3_TEN,当数...

2019-05-30 14:40:52 14254 3

原创 UART、RS232、RS485、Modbus通讯协议

UART(通用异步收发器):作用:将数据通过串行发送出去,即将一个byte的数据一bit的发送出去。RS232与RS485:规定了电气特性。电气特性即电平特性。RS232的电平特性:逻辑“1”为-3—-15V,逻辑“0”:+3—+15V。RS485的电平特性:逻辑“1”以两线间的电压差+2V~+6V表示,逻辑“0”以两线间的电压差-6V~-2V表示。MODBUS通讯协议:规定数据帧...

2019-05-23 09:23:34 6574

原创 STM32f429时钟

1到4位系统时钟:无源晶振电路连接(有源晶振只需要连接在OSC_IN上即可):一般情况下,我们会采用4-26MHZ的晶振(频率太高的晶振不稳定)作为外部晶振,然后经过锁相环分频倍频之后得到高频率的时钟频率。...

2019-03-30 16:32:16 1476

原创 关于运算放大器

https://blog.csdn.net/cyousui/article/details/82936155https://blog.csdn.net/quinn1994/article/details/82499384知识点1.同相输入端,反相输入端,输出端2.运算的放大倍数为无穷大。3.分析运算放大器处于线性状态时即放大区时,运算放大器的反向输入端电压永远等于同相输入端电压...

2019-03-27 16:25:13 259

转载 下载单片机程序的方法以及下载电路

参考文档:https://www.cnblogs.com/JeffreyCheung/p/5879765.htmlhttps://blog.51cto.com/stm32/1872550http://www.eeworld.com.cn/mcu/article_2017110935757.html编程器:就是将编写好的程序进行编译,检查其中的语法错误,知道程序语法没有问题才生...

2019-03-27 14:53:36 8329

转载 STM32学习笔记15:SysTick(系统定时器)

 eg:系统定时时间 = SysTick_Config(SystemCoreClock / 100000)中的参数(SystemCoreClock / 100000)*(1/SystemCoreClock ) 延时时间 = Delay_us(100000) 中参数100 000 * 系统定时时间注意:不过 1us 的中断没啥意义,整个程序的重心都花在进出中断上了,根本没有时间处理其...

2018-08-23 11:29:41 2042

转载 STM32学习14:EXTI(外部中断事件控制器)

        EXTI管理了控制器的23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。编程思路:1、配置NVIC。初始化NVIC(实现过程:先初始化NVIC结构体,再写NVICInit()函数)。2、配置按键中断。在这个函数中,...

2018-08-22 19:31:50 4058 1

转载 STM32学习13:NVIC(nested vector interrupt controller)

        中断类型:系统异常(内核中的中断),外部中断(内核外的中断),手册中表46中深灰色的是系统异常,白色部分是外部中断,地址是在flash中的地址。在图二中可以看到flash是从0x800 0000开始的,然而向量表格却是从0x0000 0000开始的,这样一来岂不是自相矛盾么?解答:STM32对flash进行了存储器重映射,将实际为0x800 0000开始的地址称之为0x0000 0...

2018-08-21 20:53:22 2513 1

转载 STM32学习笔记12:引脚复用功能

https://blog.csdn.net/h_kingone/article/details/53161198https://blog.csdn.net/lincheng15/article/details/51789093http://www.docin.com/p-689371836.html?docfrom=rrela

2018-08-21 15:24:34 6968

转载 STM32学习笔记11.2:RCC

    STM32单片机刚刚上电的时候,默认使用内部高速时钟HSI,而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号。    STM32上电之后执行启动文件,进行一系列的默认设置,详情可以在startup启动文件中查看。在启动文件中可以看到,在单片机进入main函数之前,会先执行SystemInit函数,该函数设置HSI为系统...

2018-08-21 10:26:40 437

转载 C++学习15:输入流

cin是istream类的一个对象。除了可以cin输入标准类型的数据外,还可以用istream类流对象的一些成员函数实现字符的输入。用istream类流对象的一些成员函数实现字符的输入: ...

2018-08-10 21:21:27 135

转载 C++学习15:格式输出

指定数据输出的格式:几进制?保留小数位数等。实现方法有两种。第一种,使用控制符控制输出格式。第二种,使用流对象的相关成员函数。1、使用控制符控制输出格式   ...

2018-08-10 16:26:09 222

转载 C++学习14:输出流

 注意:cout是不是C++关键字,它是ostream流类的对象。  用流成员函数put输出字符:ostream类的成员函数put专用于输出单个字符cout.put('a');//等效于cout.put(65+32);//结果:在屏幕上显示一个字符a。cou.put('a').put('a').put('a').put('\n');    ...

2018-08-10 15:17:54 178

转载 C++学习13:类型转换

1、标准数据类型之间的转换a.隐式类型转换:int i = 6;i = 7.05 + i;b.显式类型转换:类型名   (数据)int(19.8)2、转换构造函数:其作用:将一个其他类型的数据转换成一个类的对象a.标准类型数据转换成类的对象    b.将另一个类的对象转换成构造函数所在的类对象。3.类型转换函数:其作用:将一个类的对象转换为其...

2018-08-09 18:53:29 174

转载 C++学习11:多态性

多态:即一个事物有多种形态。在C++程序设计中,多态性是指不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同功能的函数。关于多态性:函数重载,运算符重载。 ...

2018-08-09 10:28:16 154

转载 C++学习10:单目运算符重载

前置自增:返回的是加之后的,用法即:++a后置自增:返回的是加之前的,用法即:a++ #include<iostream>using namespace std;class Time{public:Time(){minute=0;sec=0;}Time(int m,int s):minute(m),sec(s){}Time operator++(); ...

2018-08-08 21:02:06 786

翻译 C++学习9:运算符重载

所谓重载就是赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此同一个函数名就可以用来代表不同功能的函数名,即一名多用。下面介绍一个双目运算符重载    ...

2018-08-08 17:04:11 157

转载 C++学习8:友元函数

一个类中有公有成员有私有成员。在类外可以访问共有成员,不可以访问私有成员。在类内,函数可以访问私有成员。如果在类A外定义了一个函数,又在类A内用friend对其进行声明,此函数就是类A的友元函数。类A的友元函数可以访问类A中的私有成员。 ...

2018-08-08 16:05:08 179

转载 C++面向对象的程序设计1:第11章 继承与派生

1.共有继承2.私有继承 在类外:可以访问公用派生类的功用成员,不可以访问私有派生类以及保护派生类的任何成员保护与私有的区别:受保护的成员可以在类内被类内函数访问,私有成员也是。但是受保护的成员以及私有成员不能被类外访问。且保护成员可以被派生类的成员函数引用,而私有成员不可以。  ...

2018-08-07 19:30:46 306

转载 UPS的分类与选型指南

        UPS用于保护数据中心,计算机和其他电子设备之类的硬件,如果其中出现不可预测的峰值/下陷,则可能会导致数据丢失、业务中断甚至伤亡等严重问题。        不间断电源有三种类型:静态、动态(旋转)和混合。静态类型使用电力电子转换器,动态类型使用电磁引擎(生成器和电机),混合类型使用(您猜)静态和动态的组合。让我们看一看这些拓扑在电子设备中的常用情景。https://foru...

2018-08-04 20:43:34 1658

转载 C++学习6:对象指针

一、指向对象的指针:class time{ public: int hour; int minute; int sec; void get_time();};void time::get_time(){ cout << hour << ":" << minute &l...

2018-08-04 10:49:32 110

转载 C++学习5:对象数组的使用

 

2018-08-03 20:05:22 580

转载 C++学习4:析构函数的使用

    注意:先构造的后析构 

2018-08-03 19:59:05 748

转载 C++学习3:对象的初始化之:构造函数的使用

 建立一个对象时,通常需要进行初始化,例如对数据成员的赋值。但是,类的数据成员是不能够在不能在声明类的时候直接进行初始化的。class time{ hour = 0; 这种初始化写法是错误的,因为类是一种抽象的数据类型,其不占存储空间不可以 直接给数据成员赋值。 min = 0; sec = 0;};如果类的所有成员都是...

2018-08-03 19:10:41 266

原创 C++程序练习小游戏1:系统给出一个随机数,用户来猜大小,猜一次系统给出提示是猜大了还是猜小了,知道猜中那个数为止

 #include <iostream>#include<stdlib.h>#include <string>//调试f10执行下一步,f11执行下一句using namespace std;int main (){ cout << "game start:" << endl; cout << &q

2018-08-02 16:12:25 3099 1

转载 C++学习2.2:写一个含有成员函数的类

#include <iostream>#include<string>using namespace std;class STU{public: void i_stu(); void o_stu();private: string name; int age;};int main(){ STU t1; t1.i_stu(); t1.o...

2018-08-01 22:09:27 280

翻译 C++学习2.1:类与对象

类的声明:class 类名{ private: 私有的数据和成员函数; public: 公用的数据和成员函数; };举个例子(如何声明类):class Student //Student是类的类型{ private: //用来声明成员的访问属性,private下的类外不能调用 int num...

2018-08-01 16:48:24 125

转载 C++学习1:动态分配内存new与撤销内存的运算符delete

1.new 运算符:new 类型[初值]new int;new int(100);new char [10];new int [5][4];//用new开辟数组空间时,不能指定初值。float *p = new float (3.1415967);//开辟一个存放单精度的空间,并指定该实数的初值为3.1415967,将返回的该空间的地址赋给指针变量p2.delete运算符:...

2018-08-01 10:04:27 588

转载 STM32 笔记8:GPIO 配置之ODR, BSRR, BRR 详解

http://www.cnblogs.com/shangdawei/p/4723941.htmlstm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平BSRR 只写寄存器:[color=Red]既能控制管脚为高...

2018-07-30 09:35:51 1327

转载 GPIO的上下拉的选择

http://www.elecfans.com/pld/jiekou_zongxian_qudong/577391.html文是搬过来的,侵权就删了,原文链接在上面。感谢提供的详细介绍。讲的很通俗易懂。GPIO是一颗芯片(MCU)必须具备的最基本外设功能。GPIO通常有三种状态:高电平、低电平和高阻态。高阻态换句话说就是断开状态或浮空态。因此上拉和下拉其中一个强大的理由就是为了防止输入...

2018-07-29 17:16:19 1780

转载 IO口的输入输出与上下拉电阻

 上拉输入:有上拉电阻                                按键未按下时端口接高电平,即高电平 1   状态---3.3v                                按键按下时端口接低电平,即低电平 0  状态-------0 下拉输入:有下拉电阻                                 按键未按下时端口接低电平...

2018-07-29 14:24:01 16649

原创 VS配色方案你值得拥有

VS的配色方案(有一个我好喜欢的,嗯,但是我忘了是哪一个,自己试试吧):链接:https://pan.baidu.com/s/1OBaW__wBOt6pynMGmRKqZQ 密码:smh1如下:

2018-07-28 20:33:18 11733 6

KEIL4&5配色方案.rar

KEIL4和KEIL5软件的配色方案。我自己平时最爱使用的一款配色。献给大家,希望你们能喜欢。没有积分可以用百度云下载。百度云下载链接:https://pan.baidu.com/s/1ZRV8m-Anhi1T3SNj58W1UA 提取码:gmn3 复制这段内容后打开百度网盘手机App,操作更方便哦

2019-08-02

基于STM32F103的RS485通信(主动发送中断接收)

硬件:STM32F103、485接口。功能:485收发数据。流程:主程序中通过485发送数据,开启串口接收中断和空闲中断。 每接收到一个字节的数据产生串口接收中断,在接收中断中用数组保存接收到的数据。每接收到一帧数据产生空闲中断,在空闲中断中将保存的数据发送出去(我是发送到串口调试助手显示)实验操作:下载程序,串口调试助手会显示预先用数组保存好的发送数据,而后通过串口调试助手上发送一串数据,程序会接收该串数据。 嗯。。。为了检测程序接收到的数据是否正确,我又把数据发到串口调试助手显示以判断接收是否正常。。。。讲的这么详细了 我觉得貌似可以不用下载了。。。

2019-06-14

基于STM32F103的RS485通信(采用DMA方式发送数据,中断方式接收数据)

描述:硬件:RS485接口 协议:Modbus RTU。功能:采用DMA方式发送数据,中断方式接收数据。注: 接收到指令之后,判断是否是相应指令而进行DMA数据发送。DMA:开启DMA,DMA发送完一帧数据后产生发送完成中断,在DMA发送完成中断中,开启USART接收中断(字节), 在USART接收中断中保存接收到的数据。注: 本程序额外开启了USART空闲中断,在空闲中断中将 USART接收中断中接收到的数据发送至串口调试助手显示并开启DMA请求

2019-06-14

CRC校验C语言实现

基于MODBUS协议的CRC校验。用C语言实现的,这个程序是计算CRC位。鄙人C语言小白水平,你学了C语言就能看懂。嗯,,我指针没学好,,所以我都是用数组写的,你说简单不简单。嗯,没毛病就是那种命令框框显示CRC。输入要计算CRC位的数据,然后回车,就计算出来了。

2018-07-28

空空如也

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

TA关注的人

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