自定义博客皮肤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

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

原创 一个完整的DS1302时钟在STM32上的应用实例

一个完整的DS1302时钟在STM32上的应用(代码位置有点乱).整理后的完整代码https://blog.csdn.net/weibo1230123/article/details/80372790一个完整的DS1302时钟在STM32上的应用/*DS1302时钟芯片*/uint8_t read[] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};/...

2018-05-23 14:39:46 3663 4

原创 DS1302时钟芯片在STM32F0中的完整应用代码

DS1302在STM32F0中的应用DS1302在STM32F0中的应用/**********************第一:首先对端口进行配置****************///DS1302时钟端口定义void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO...

2018-05-19 11:27:40 2022 1

翻译 MF RC522读卡芯片手册

MF RC522读卡芯片手册http://www.docin.com/p-1684819035.html https://wenku.baidu.com/view/2510e4e35901020206409c90.html

2018-05-03 11:16:21 3913

原创 #if、#elif、#else 和 #endif 指令详解 (C/C++)

#if、#elif、#else 和 #endif 指令详解 (C/C++)#if 指令与 #elif、#else 和 #endif 指令一起控制源文件部分的编译。 如果您编写的表达式(在 #if 后)有一个非零值,则在翻译单元中保留紧跟 #if 指令的行组。语法conditional :if-part elif-parts opt else-partopt endif-lineif-part...

2018-05-31 16:08:19 67331

翻译 SVN下载安装及使用教程

SVN简介: 为什么要使用SVN?      程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。Subversion是什么?   它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网...

2018-05-31 13:26:34 85956 6

原创 STM32串口+DMA的使用2

uint8_t UART4_Rx_buffer[512],UART4_Rx_num; void UART4_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NV...

2018-05-30 17:30:58 1688

原创 C语言将两个正整数连接

//c语言将两个正整数连接int main(){ int number1 = 1; int number2 = 2; char string1[5]; char string2[5]; /*VS2017编译器中这种形式提示不安全 itoa(number1, string1, 10); itoa(number2, string2, 10); strcat(string1, str...

2018-05-30 16:52:30 1838

原创 C语言有以下几种取整方法:

C语言有以下几种取整方法:    1、直接赋值给整数变量。如:    int i = 2.5; 或 i = (int) 2.5;    这种方法采用的是舍去小数部分。    2、C/C++中的整数除法运算符"/"本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。      3、使用...

2018-05-30 16:23:44 62856 4

原创 C语言取出一个数的每一位

C语言取出一个数的每一位int main(){ long t = 123456789; int a, b, c, d, e, f, g, h, i; a = t % 10; b = t / 10 % 10; c = t / 100 % 10; d = t / 1000 % 10; e = t / 10000 % 10; f = t / 100000 % 10; g = t...

2018-05-30 16:18:03 19197

原创 把字符串里的整数倒叙一个一个打印出来

把字符串里的整数倒叙一个一个打印出来int count = 0;void myRevert(int n, int a[]){ if (n < 10) { a[count++] = n; } else { a[count++] = n % 10; myRevert(n / 10, a); }}int main(){ int n; int b[7]; c...

2018-05-30 16:05:19 241

原创 STM32串口+DMA使用1

STM32串口+DMA使用        STM32有5个串口资源(USART1,USART2,USART3及UART4,UART5)。其中3个USART(通用同步/异步收/发器universalsynchronous asynchronous receiver and transmitter);2个UART(通用异步收/发器universalasynchronous receiver and t...

2018-05-30 13:22:56 2527

翻译 STM32 USART串口DMA 接收和发送的源码详解!

硬件平台:STM32F103ZET6; 开发环境:KEIL 4;先说说应用通讯模式,串口终端的工作方式和迪文屏差不多,终端被动接受MCU发的指令,终端会偶尔主动发送一些数据给MCU(像迪文屏的触摸信息上传)。串口DMA发送:发送数据的流程:前台程序中有数据要发送,则需要做如下几件事1.      在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在DMA初始化的时候写入到DMA配...

2018-05-30 10:33:42 20793 2

原创 STM32通过串口如何接收服务器发来的数据

STM32通过串口如何接收服务器发来的数据代码如下:在stm32f10x_it.c中的代码void USART1_IRQHandler(void){ u8 GetData; if(USART_GetITStatus(USART1, USART_IT_RXNE)!=RESET) { USART_ClearITPendingBit(USART1,USART_IT_RXNE)...

2018-05-29 16:55:00 4165 2

原创 STM32的时钟系统RCC详细整理

一、综述:1、时钟源在 STM32 中,一共有 5 个时钟源,分别是 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。 ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ; ②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz ; ③LSI 是低速内部时钟, RC 振荡器,频率为 40KHz ; ④LSE 是低速外部时钟,接...

2018-05-28 12:27:50 2101

原创 串口初始化结构体和固件库讲解

串口初始化结构体和固件库讲解常用的6个函数,结构体:USART 初始化结构体(USART_InitTypeDef)USART 时钟初始化结构体(USART_ClockInitTypeDef)串口使能函数void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)数据发送函数void USART_SendData(USART_Type...

2018-05-28 12:23:47 759

翻译 STM32F0 定时器触发ADC,多通道采样、DMA传输数据的配置

本块代码实现了定时器定时触发ADC,多通道采样,并通过DMA进行数据传输到内存的操作。#include    "adc.h"  [cpp] view plain copy#define DMA_BUFFER_SIZE     6  uint8 sample_finish = 0;  int16 adc_dma_tab[6] = { 0 };  uint8 sample_index = 0;    ...

2018-05-28 12:21:24 7742 1

翻译 strstr(str1,str2)函数使用时注意事项

可能有的人还没听过strstr函数,个人认为这个一个很实用的函数,strstr(str1,str2) 函数是字符串处理函数之一,位于头文件 “string.h”中。对于处理字符串的一些问题有很大的帮助。定义:strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。定义说的有点羞涩难懂。举个例子就...

2018-05-28 12:17:34 67355 11

翻译 STM32实现IAP功能之一

最近因项目需求要实现STM32的在线升级即IAP功能,先将这几天的学习体会和IAP的具体实现总结出来,分享给大家,希望对同样实现IAP的童鞋有所帮助,文中最后会上传名为STM32_Update.zip的压缩文件里面包含了STM32_App、STM32_MyBoot_V1.0和升级软件STM32_UpdateSoftware的源码文件供大家参考。所有程序都经过测试,可以直接在原子哥的开发板上跑,上位...

2018-05-27 13:50:15 1210 1

原创 STM32中FLASH_Status的5个状态各表示的含义详解

获取状态:FLASH_Status FLASH_GetStatus(void);返回值是通过枚举类型定义的。 typedef enum{    FLASH_BUSY = 1,  //忙   FLASH_ERROR_PG,  //编程错误   FLASH_ERROR_WRP,  //写保护错误   FLASH_COMPLETE,   //操作完成   FLASH_TIMEOUT    //操作超时 ...

2018-05-24 15:47:18 4315

原创 STM32中flash的读写详解

STM32中FLASH_Status的5个状态各表示的含义详解获取状态:FLASH_Status FLASH_GetStatus(void);返回值是通过枚举类型定义的。 typedef enum{ FLASH_BUSY = 1, //忙 FLASH_ERROR_PG, //编程错误 FLASH_ERROR_WRP, //写保护错误 FLASH_COMPLE...

2018-05-24 15:01:24 9494 1

原创 IAR 中打多个断点出现 one or more breakpoints coule not be set and have been disabled原因及解决方案

IAR 中打多个断点出现 one or more breakpoints coule not be set and have been disabled原因及解决方案1.原因:当你把一个完整的工程复制到另一个文件夹下后,再加断点调试会出现这样的情况,因为再把工程复制后以前建立好的编译和链接文件失效,所以的把以前的编译和链接的文件删除,重新用IAR打开编译、链接即可解决打断点出现one or mor...

2018-05-24 13:08:42 1830

翻译 STM32硬件错误HardFault_Handler的处理方法

在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。        STM32出现硬件错误可能有以下原因:        (1)数组越界操作;        (2)内存溢出,访问越界;        (3)堆栈溢出,程序跑飞;        (4)中断处理错误;        ...

2018-05-22 15:03:23 4748 1

原创 已知两个时间戳判断这两个时间是否在同一天

已知两个时间戳判断这两个时间是否在同一天int Same_Day(){     char Time1[11] = "1516766666";    char Time2[11] = "1516788888"; time_t Timestamp1,Timestamp2; struct tm *p1,*p2; char Day1[9]=""; char Hour1[3...

2018-05-20 22:33:35 10349

原创 用STM32实现:摄像头扫到二维码后提取二维码中的信息分别放到数组中

摄像头扫到二维码后提取二维码中的信息分别放到数组中把想要的信息编辑好放到二维码中(网上有好多在线生成二维码的工具)char name[6];//从二维码扫到的姓名:eg:weibochar ID[12];//从二维码扫到的ID:eg:16208207033//二维码解密函数void Code_Decrypt(int admin){ strncpy(name, Usart2_buf, 5...

2018-05-20 21:25:16 6102 1

原创 C语言中%的用法

C语言中x=a%10;和a%10==0;表示什么意思?(1)x=a%10; 把a对10求余赋值给x,其实就是得到a的个位赋值给x。(2)a%10==0;是判断一个数的末尾是否是0,%是求a的余数,a除10余下的当然是个位数也就是最后一位。...

2018-05-20 20:59:14 36854

原创 STM32如何从串口接收数据,取出数据中的密码段再保存到flash中。

STM32如何从串口接收数据,取出数据中的密码段再保存到flash中STM32如何从串口接收数据,取出数据中的密码段再保存到flash中u8 Usart2_buf[256];unsigned int usart2_lent;void main(void){ char buf_password[19] = "000000";//6位密码 memset((char *) &am...

2018-05-20 20:41:37 3265 2

原创 现实工程中常用到的C语言函数总结(不断更新)

1.assertstrcmpsprintfstrcatstrncpymemset1.assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),...

2018-05-20 15:38:49 366

翻译 深入理解strncpy这个函数

1.不考虑内存重叠的strncpy网上很多博客也写了这个函数,面试也常常会遇到,但是,我发现网上的很多代码都是有问题的,我们先看下大部分网上博客的实现:[plain] view plain copychar *strncpy(char *dst, const char *src, size_t len)  {      assert(dst != NULL && src != NU...

2018-05-20 15:25:53 19372 4

原创 STM32用USART发送字符串,以USART_FLAG_TXE和USART_FLAG_TC怎么用

STM32用USART发送字符串,以USART_FLAG_TXE和USART_FLAG_TC怎么用一:STM32用USART发送字符串void UART_Send_Message(u8 *Data){ while(*Data!='\0') { USART_SendData(USART1, *Data); while(USART_GetFlagStatus(USAR...

2018-05-20 14:38:13 17540 15

原创 彻底解决IAR中Go to definition of不可用

解决IAR中Go to definition of不可用tools->options->project->generate browse information选项要打勾但是有人这个打勾了还是不能用怎么办?Debug\Obj目录下所有文件都删掉然后等browse infomation重新构建就好了,重新编译项目就可以可用了。(另外tools->options->pro...

2018-05-20 13:56:42 5472 3

原创 STM32有哪些系列和型号?

一张图认识STM321. 极端低功耗系列:STM32L0, STM32L1, STM32L4,性能依次增强。2. 主流系列: STM32F0, STM32F1, STM32F3, 性能依次增强。3. 高性能系列: STM32F2, STM32F4, STM32F7, STM32H7, 性能依次增强。每个系列下面有很多不同型号,例如L系列,可自行查看不同型号的配置...

2018-05-19 11:49:23 16586

原创 电源符号:VCC、VDD、VEE、VSS、VBAT各表示什么意思?

下面是stm32vet6的引脚图: 电路设计以及PCB制作中,经常碰见电源符号:VCC、VDD、VEE、VSS、VBAT,他们具有什么样的关系那?  一、解释  (1)VCC:C=circuit 表示电路的意思, 即接入电路的电压  (2)VDD:D=device 表示器件的意思, 即器件内部的工作电压;  (3)VSS:S=series 表示公共连接的意思,通常指电路公共接地...

2018-05-19 11:47:22 125992 5

原创 将十六进制的字符串转换成整数

#include "stdafx.h"#include<stdio.h>#include<string.h>/*将大写字母转换成小写字母*/int tolower(int c){ if (c >= 'A' && c <= 'Z') { return c + 'a' - 'A';} else { return c;...

2018-05-18 21:30:37 4035

原创 IAR在线调试时用DEBUG打印调试信息

#include "stdafx.h"#include<stdio.h>#include<stdlib.h>#include<string.h>//是否开启DEBUG模式//#define _DEBUG_ 0 //不开启#define _DEBUG_ 1 //开启#if _DEBUG_#define PRINTF(...) pri...

2018-05-18 21:11:59 4013

原创 用时间戳判断两个时间是否在同一天和时区转换问题

用时间戳判断两个时间是否在同一天和时区转换问题//用时间戳判断两个时间是否在同一天和时区转换问题#include "stdafx.h"#include<stdio.h>#include<time.h>#include<stdlib.h>#pragma warning(disable:4996)//是否开启DEBUG模式#define _DEB...

2018-05-18 11:38:42 2537

原创 char N2Char(int n)函数:将一个整数转换为字符串,并放入一个字符串中

//将一个整数转换为字符串,并放入一个字符串中char N2Char(int n)//一次只能转换一个数{ int i; char c; if ((i = n / 10) != 0) N2Char(i); c = n % 10 + '0'; return c;}int main(){ char ccc[4] = "0"; ccc[0] = N2Char(1); ...

2018-05-17 23:20:53 941

原创 如何屏蔽VS2013中的4996错误!

如何屏蔽VS2013中的4996错误!main函数开头加上下面这句就OK了:#pragma warning(disable:4996)

2018-05-17 23:04:12 6775

原创 自己用C语言写itoa 函数和atoi函数

有些库中有atoi()函数,但没有itoa()函数,怎么办?自己写啊!!!一:先来看看库atoi()函数和itoa()函数的用法:1.atoi 是把字符串转换成整型数的一个函数,int atoi(const char *nptr) 函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进)等,可以通过isspace( )函数来检测),直到遇上数字或正负符号才开始做转换,而在遇到非数...

2018-05-17 23:01:55 6917 4

原创 十六进制字符转二进制字符

十六进制字符转二进制字符//十六进制字符转二进制字符void Printhex_to_Bin(char c) { char x[17][5] = { "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "100

2018-05-17 21:34:05 3485

翻译 基于stm32f103zet6的DS1302学习

由于硬件出了问题,也就是外部低速晶振没用,震不起来,然后查看了网上的帖子,STM32的RTC果然口碑不怎么样,所以果断换DS1302,在移植的过程中还算顺利,记录下来吧,也算对自己的总结吧!1、所谓的DS1302这里面也指明了简单的SPI协议然后就直接上代码了,注释很详细的!基本实现单行注释1、主函数main[html] view plain copy#include "stm32f10x.h" ...

2018-05-13 21:53:59 1288

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的粉丝

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