自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

魏波-CSDN认证博客专家

魏波-CSDN认证博客专家,全国总排名306,文章总访问量超500万。个人邮箱1095528269@qq.com

  • 博客(35)
  • 资源 (5)
  • 论坛 (1)
  • 收藏
  • 关注

翻译 STM32F103+语音识别模块HBR640

              STM32F103+语音识别识别模块HBR640先来看结果演示:用声音控制烧水壶烧水和关闭链接:https://weibo.com/tv/v/Hbb04FWkY?fid=1034:4326638951797661 HBR640实物图HBR640框架结构图:串口工具:上位机串口协议:     官方给的STM32F...

2018-06-03 19:13:13 20130 11

原创 小公司如何提高效率?

提高公司效率1.对每个人安排最擅长的活,使每个人的效率达到最高。2.公司用到的芯片类型很少,方便迭代,提高效率。3.不急的项目先做一个雏形,遇到很难解决的先放一放。4.多个项目交叉进行,遇到问题优先解决着急且重要的项目。...

2018-06-29 09:54:19 549

原创 取一个数组中最大和最小值

u16 maxvalue,minvalue;u8 k;/*find minivalue*/minvalue=ADC_ConvertedValue[0];for(k=1;k<10;k++){ if(ADC_ConvertedValue[k]<minvalue) { minvalue=ADC_ConvertedValue[k]; ADC_Converte...

2018-06-26 16:31:19 949

转载 STM32_ADC单通道单次采集

出处:https://blog.csdn.net/ybhuangfugui/article/details/51332775今天讲解“STM32F103 ADC单通道单次采集”功能。 今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。若不知道如何而来,请关注微信公众号“EmbeddDeveloper”获取更多信息。本着免费分享的原则,将讲解的工程源代...

2018-06-26 15:09:05 838

转载 STM32之ADC实例(基于DMA方式)

出处:https://blog.csdn.net/zouleideboke/article/details/75112224?locationNum=9&fps=1ADC简介:    ADC(Analog-to-Digital Converter,模/ 数转换器)。也就是将模拟信号转换为数字信号进行处理,在存储或传输时,模数转换器几乎必不可少。   STM32在片上集成的ADC外设非常强大...

2018-06-26 14:33:38 1202

原创 STM32串口实时接收数据与所提前定义的比较,并作出相应的操作

   STM32串口实时接收数据与所提前定义的比较,并作出相应的操作//typedef const uint16_t uc16; /*!< Read Only */uc16 BUF[10]={162,170,178,187,197,206,216,227,238,249};u16 value;//可以是串口实时接收到的一些数据void main(void){ for(i=...

2018-06-26 14:27:00 781

原创 STM32F103的USART1和USART2的TX和RX所对应的分别是那个引脚?

                               STM32F103

2018-06-26 14:13:48 17440

转载 C语言实现PID算法:位置式PID和增量式PID

原创者微信公众号PID算法可以说是在自动控制原理中比较经典的一套算法,在现实生活中应用的比较广泛。大学参加过电子竞赛的朋友都应该玩过电机(或者说循迹小车),我们要控制电机按照设定的速度运转,PID控制在其中起到了关键的作用。说来惭愧,大学这门课程学的不咋滴,老师讲的课基本没听进去过。直到后面接触竞赛,算是对PID有了很基础的一点点认识,直到现在工作实际应用的...

2018-06-26 11:00:30 62631 12

原创 C语言中a&0x0表示什么?

                                   C语言中a&0x0表示什么?一:说明1.在C语言中,&可以用作取地址和按位与操作两种运算。不过取地址是针对变量的,当前&后是一个常量,在C语言中不允许取地址操作,所以这个是语句的一部分,前面还要有一个操作变量。比如a&0x01。2.&是双目操作符,需要两个操作数,代表含义为按位与操作。3....

2018-06-25 16:34:11 4433

原创 STM32学习笔记之EXTI(外部中断)

 一:EXTI(外部中断)说明 =========================================分割线=========================================        外部中断/事件控制器由19个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发...

2018-06-25 10:22:57 4043

原创 STM32中I2C总线上数据的读、写。

/** * @brief 从I2C1总线上的某一器件的某一起始地址中读取一定字节的数据到数组中 * @param driver_Addr:I2C器件地址 * @param start_Addr:起始字节地址 * @param number_Bytes:要读取的字节数量(小于一页) * @param read_Buffer:存放读取数据的数组指针 * @retval...

2018-06-25 09:38:39 2838 1

原创 L298N电机驱动模块详解

2018-06-24 20:29:05 119812 5

原创 STM32F030控制蜂鸣器定时响和控制LED亮

                                STM32F030控制蜂鸣器定时响(1)main.c中:u16 StartTime=0;void main(){ StartTime=500;//蜂鸣器响的时长 SPEEK(1); }void SPEEK(u8 num){ TIM_Cmd(TIM2, ENABLE); //开启时钟}(2)hardware...

2018-06-23 10:40:48 3350

翻译 STM32系统滴答定时器(systick)应用

就在前一段时间,有人突然问我SysTick_Handler(void)这个定时器中断处理函数是怎么定义的?根据以往的经验,我感觉在底层应该会有一个类似于函数声明的东西的存在,但是往下跟程序的话,一直都没有找到相应的定义或者声明,那么究竟SysTick_Handler这个函数怎么来的呢?是不是可以人为的做修改呢?给我的第一感觉是,肯定是可以做修改的,毕竟只是一个 函数 的名字而已,于是就翻看LPC1...

2018-06-22 15:37:26 1519

转载 STM32之DMA

一、DMA简介1、DMA简介  DMA(Direct Memory Access:直接内存存取)是一种可以大大减轻CPU工作量的数据转移方式。  CPU有转移数据、计算、控制程序转移等很多功能,但其实转移数据(尤其是转移大量数据)是可以不需要CPU参与。比如希望外设A的数据拷贝到外设B,只要给两种外设提供一条数据通路,再加上一些控制转移的部件就可以完成数据的拷贝。  DMA就是基于以上设想设计的,...

2018-06-22 14:00:31 943

转载 STM32F0xx_EXIT中断配置详细过程

Ⅰ、概述EXIT外部中断在使用到按键或者开关控制等应用中比较常见,低功耗中断唤醒也是很常见的一种。因此,EXIT在实际项目开发中也是比较常见的一种。STM32F0中外部中断EXIT属于中断和事件的章节,请看参考手册第十二章,但需要配合系统配置控制器(System configuration controller)进行操作,为中断分配引脚,详情请看参考手册第十章。 本着免费分享的原则,方便大家手机学...

2018-06-22 10:44:06 918

原创 STM32中3个延时函数

第一个延时函数:void delay(u16 num){ u16 i,j; for(i=0;i<num;i++) for(j=0;j<0x800;j++);}eg:delay(50);第二个延时函数:static u8 fac_us=0;//us延时倍乘数static u16 fac_ms=0;//ms延时倍乘数//初始化延迟函数//SYSTICK的时钟固...

2018-06-22 10:18:04 12247

翻译 STM32的IWDG(独立看门狗)详细用法

文章出处:https://www.cnblogs.com/Liu-Jing/p/7243029.html章参考资料:《STM32F4XX 中文参考手册》IWDG 章节。1、IWDG简介:  STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个 12 位的递减计...

2018-06-15 15:21:17 60652 4

原创 STM32中的IDR和ODR寄存器

#define WARM_KEY_PIN     (GPIOC->IDR&(1<<5))#define Speak(tmp)       GPIOA->ODR=tmp?(GPIOA->ODR|1<<12):(GPIOA->ODR&(~(1<<12)))(1)IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器。...

2018-06-15 15:06:52 13346

原创 向STM32串口发送数据的标准函数

                                                                   向STM32串口发送数据的标准函数例子:1void UART_Send_Message(u8 *Data,u8 lenth){ while(lenth--) { USART_SendData(USART2, *Data); ...

2018-06-15 14:03:42 6588

翻译 STM32常用数据类型 u8、u16、u32

1.unsigned int 32 (C语言标准表达方法)        2.uint32_t ;            3.u32;  这三种方式都是在表达同一个意思。ST 搞这么多花样,无非是想开发人员在写代码时定义数据类型能少写几个符号,然后又因为前后版本升级,为了兼容旧版本(主要是V2.0)才会出现这么多表示方法。不管他怎么换,都是基于标准C来的,看清楚以下几个文件你就OK了:core_c...

2018-06-15 12:23:10 13825 1

原创 STM32关于BOOT0和BOOT1设置,去掉Debug后完成硬件独立运行。

BOOT0和BOOT1STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的 Flash。2)SRAM = 芯片内置的 RAM区,就是内存啦。3)系统存储器= 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段 Bootloader,就是通常说的 ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个 ROM区。在每个 STM32的芯片上都有两...

2018-06-14 14:15:16 3249

翻译 STM32(Cortex-M3)启动过程+IAR中xcl及icf文件详解

已经用STVD+cosmic完成了IAP功能,但想试着在STM8上跑上官的UCOS,不得不用IAR编译,但编译后代码的生成地址怎么再从0X9000开始生成呢,找遍全网,也没有发现三言两语直接的表白,又对IAR环境不熟,看过了IAR下的工程设置的全部选项,都没有发现怎么修改这个地址,IAR的这个地址的修改,并不象KEIL及STVD下那么直接,它必须通过IAR的根目录下有个CONFIG的文件夹,里面有...

2018-06-12 17:13:26 1497

转载 stm32处理器调试模式下运行正常,上电自启动后运行不正常的故障排查分析

最近负责一个项目,用到stm32f4的一款高性能芯片。研发过程中遇到一个很诡异的现象,前前后后折腾了两三天,最后才搞定。由于是新手,经验不足,排故过程很纠结~~现象如下:1.采用JLINK下载程序后,断电让其上电重新启动,发现有时可以正常运行,有时候无法正常运行,大约每两、三次就有一次无法正常上电启动。2.通过JLINK调试程序,每次均正常运行。太诡异了!发现问题后开始定位原因。首先考虑是BOOT...

2018-06-12 13:59:50 7041 1

原创 C++中#if 0 ... #endif的用法

块注释符(/*...*/)是不可以嵌套使用的。我们还可以使用 #if 0 ... #endif 来实现注释,且可以实现嵌套,格式为:#if 0 code#endif 你可以把 #if 0 改成 #if 1 来执行 code 的代码。这种形式对程序调试也可以帮助,测试时使用 #if 1 来执行测试代码,发布后使用 #if 0 来屏蔽测试代码。#if 后可以是任意的条件语句。...

2018-06-10 20:54:22 8835

原创 C++中的string 类型占几个字节

C++中的string 类型占几个字节一:先看一道面面试题:题目是要求输出:TrendMicroSoftUSCN 然后要求修改程序,使程序能输出以上结果.代码如下:#include <iostream>#include <string>using namespace std;int main(int argc,char * argv[]){    string s...

2018-06-10 17:14:12 11223

原创 STM32F10X_XX宏定义的选择及含义

             IAR编译器中STM32F10X_XX宏定义的选择     如果你使用stm32f10x_stdperiph_lib,会发现在stm32f10x.h文件会有一段关于宏选择的代码,如:[cpp] view plain copy#if !defined (STM32F10X_LD) && !defined (STM32F10X_MD) && !...

2018-06-07 18:02:34 11987

原创 用IAR调试程序时直接跳过断点执行后面程序的解决办法

             用IAR调试程序直接被跳过断点执行解决办法首先这个问题是IAR编译器设置的优化等级太高了,降低优化等级就可以了。解决办法:在options->C/C++compile---->optimization里面,有一个栏是Leval,下面有4个选项None、low、medium、high。选择Low就可以解决上面的问题。...

2018-06-07 12:09:40 1868

原创 STM32串口使用详解

一、关于串口需要了解的几个知识点:1.波特率:在串行通讯中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率。   波特率决定了串口传输的速度,1波特=1bps(位/秒)。波特率为9600的话就是1s传输9600位的数据。   串口的传输与网络等其他的传输有着相似之处,比如常用的wifi,区别在与这些网络的单位是k,只有串口是按位来计数的。2.单工,半双工,全双工: ...

2018-06-06 16:29:17 2838

原创 STM32串口中断的4种接收数据的实现方式

本例程通过PC机的串口调试助手将数据发送至STM32,接收数据后将所接收的数据又发送至PC机,具体下面详谈。实例一:void USART1_IRQHandler(u8 GetData){ u8 BackData; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //中断产生 { USART_ClearITPe...

2018-06-06 15:53:28 28233 6

原创 SM32的USART串口设置

                SM32的USART串口设置  对于复用功能的 IO,我们首先要使能 GPIO 时钟,然后使能复用功能时钟,同时要把 GPIO 模式设置为复用功能对应的模式,串口参数的初始化设置,包括波特率,停止位等等参数。在设置完成后就是使能串口。同时,如果开启了串口的中断,当然要初始化 NVIC 设置中断优先级别,最后编写中断服务函数。  串口设置的一般步骤可以总结为如下几个步...

2018-06-06 14:35:41 848

原创 USB、TTL电平、232电平之间的相互转换

USB、TTL电平、232电平之间的相互转换一:什么是TTl电平、232电平?    TTL电平:一般用作数字芯片的电平,单片机大多是TTL电平(电压标准不同)。    232电平:电脑串口的电平二:USB转串口包括两种:       1.USB转232串口       2.USB转TTL串口三:三者转换(1)TTL与232串口互转:单片机串口(TTL电平)想和电脑串口(232电平)通信,就需要使...

2018-06-06 09:44:22 8911

原创 STM32库中几个重要的文件说明

STM32库中几个重要的文件说明

2018-06-04 12:02:24 2166

翻译 IAR EW6.30版本下建立STM32工程(芯片型号STM32F105VC)

参考博客及文档有:1,http://www.cnblogs.com/ele-eye/archive/2011/11/28/2266229.html        2,http://www.cnblogs.com/king-77024128/articles/2512997.html(CMSIS介绍)        3,   http://wenku.baidu.com/link?url=2blE_...

2018-06-03 16:42:23 1152

原创 将一个数组中的字符串用指定字符分割开,分别放到另一个数组中

#include "stdafx.h"#include <stdio.h>#include <string.h>#pragma warning(disable:4996)//将一个数组中的字符串用指定字符分割开,分别放到另一个数组中void split(char **arr, char *str, const char *del){ char *s = str...

2018-06-01 13:12:05 2462

Lua源代码分析顺序

Lua源代码分析顺序

2019-04-11

Memcached源码分析之内存管理

Memcached源码分析之内存管理Memcached源码分析之内存管理

2019-04-11

extern()和 flock()函数

extern()和 flock()函数extern()和 flock()函数

2019-04-11

cJSON是C语言中的一个JSON编解码器

cJSON是C语言中的一个JSON编解码器cJSON是C语言中的一个JSON编解码器

2019-04-11

coreutils 的所有代码链接

coreutils 的所有代码链接coreutils 的所有代码链接coreutils 的所有代码链接

2019-04-11

魏波-的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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