自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (1)
  • 收藏
  • 关注

转载 单片机存储中的大小端模式

请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答:int checkCPU( ){ { union w { int a; char b; } c; c.a = 1; ...

2018-06-07 16:44:56 1844

转载 按键扫描,看看牛人如何5个I/O口,设置25个按键的

在做项目(工程)的时候,我们经常要用到比较多的按键,而且IO资源紧张,于是我们就想方设法地在别的模块中节省IO口,好不容易挤出一两个IO口,却发现仍然不够用,实在没办法了就添加一个IC来扫键。一个IC虽然价格不高,但对于大批量生产而且产品利润低的厂家来说,这是一笔不菲的开支!那,我们能不能想到比较好的扫键方法:用最少的IO口,扫最多的键?可以吗?举个例:给出5个IO口,能扫多少键?有人说是2*3=...

2018-06-07 15:14:53 3057

原创 SourceInsight窗口显示+牛人总结的单片机应用程序架构

牛人总结的单片机应用程序架构2018年03月08日 17:51:58JawSoW阅读数 4451工作中经过摸索实验,总结出单片机大致应用程序的架构有三种:1. 简单的前后台顺序执行程序,这类写法是大多数人使用的方法,不需用思考程序的具体架构,直接通过执行顺序编写应用程序即可。2. 时间片轮询法,此方法是介于顺序执行与操作系统之间的一种方法。3. 操作系统,此法应该是应用...

2018-04-14 11:25:06 3472

原创 NTC 10k-25°C

2018-04-07 13:36:32 3229

原创 STM32 时钟输出MCO功能

一、数据手册:使用步骤:1、开时钟输出时钟控制;RCC_MCOConfig(RCC_MCO_SYSCLK); // 实际是对RCC_CFGR寄存器的24-26位配置。2、配置时钟输出管脚PA8为复用推挽输出    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MH...

2018-04-07 09:59:03 14104

原创 IO状态

一、IO状态检测:二、按键检测:三、IO状态获取:步骤一:定义结构体类型步骤二:定义结构体变量步骤三:初始化结构体步骤四:获取IO口状态值:高/低步骤五:IO状态获取,在10mS后台程序中处理四、常用指示灯处理方式:1、常亮:2、常灭:3、频闪:4、呼吸:1、每隔10mS改变一次占空比。...

2018-04-06 21:21:21 2387 1

原创 UART

// 参考博客https://blog.csdn.net/zh_666888/article/details/79916130

2018-03-31 11:05:45 1344

原创 Word、Excel、PDF、PPT 常用功能

一:Word 常用功能总结:1、word制作如下字体:1)编辑栏选择“插入”--“文本框”,在文本框输入信息如下(微软雅黑 一号),选中文字选择对齐方式:两端对齐:分散对齐:2、页眉、页尾处理:3、设置页面数显示:4、word怎么增加、删除一张空白页:增加空白页:把鼠标放在要增加的地方,点击“插入”->"空白页"。删除空白页:把鼠标放在空白页处,点击键盘“Delete”键。5、word怎么制...

2018-03-29 18:42:07 1027

转载 嵌入式软件可靠性设计的一些理解

0.前言          设备的可靠性涉及多个方面:稳定的硬件、优秀的软件架构、严格的测试以及市场和时间的检验等等。这里着重谈一下作者自己对嵌入式软件可靠性设计的一些理解,通过一定的技巧和方法提高软件可靠性。这里所说的嵌入式设备,是指使用单片机、ARM7、Cortex-M0,M3之类为核心的测控或工控系统。       嵌入式软件可靠性设计应该从防错、判错和容错三方面进行考虑. 此外,还需理解自...

2018-03-29 14:01:03 4926

原创 常用算法

1、冒泡法排序。2、二分查找算法。

2018-03-29 13:35:00 212

原创 Systick定时器

声明:内容来自正点原子PPTSystick定时器就是系统滴答定时器,一个24位的倒计数定时器,计到0时,将从RELOAD寄存器中自动重装载定时初值。只有不把它在SysTick控制及状态寄存器中的使能位清楚,就永不停息,即使在睡眠模式下也能工作。4个Systick寄存器:    CTRL      SysTick 控制和状态寄存器      LOAD     SysTick 自动重装载除值寄存器 -...

2018-03-17 10:47:15 1968

原创 CRC16校验

示例:

2018-03-16 22:23:05 292

原创 ADC扫描模式配置

1、采用ADC的扫描模式连续扫描8路ADC,通常需配合DMA使用。2、ADC主频时钟最好不要超过14M,否则会采集不准。

2018-03-16 21:56:28 4530

原创 UART+DMA串口发送数据

实际使用时只需把要发送的数据准备好,调用Uart_Send_Data。 Uart_Send_Data("AT+VERSION\r\n", 12);

2018-03-15 20:22:15 2515

转载 STM32之ADC

STM32F103XX的ADC的采样时钟最快14MHz,最快采样率为1MHz。对于有ADC转换时间计算有如下公式:TCONV=采样时间+12.5对于本公式:其中12.5是固定数(可以直接用,12.5是采集12位AD时间是固定的周期),而采样时间是由ADC初始化配置语句中ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 1, ADC_SampleTime_...

2018-03-13 15:31:00 951

转载 STM32中GPIO的8种工作模式

有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入的区别转载自:http://bbs.ednchina.com/BLOG_ARTICLE_2082651.HTM 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)G...

2018-03-13 13:44:28 473

转载 GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用

转载来自:http://blog.csdn.net/q759040024/article/details/234684691.为什么要复用PB3/PB4/PA13/PA14/PA15  在mcu复位的时候这几个引脚被作为jtag的功能。当我们要使用这些引脚作为普通的I/O时必须进行引脚的功能复用。2.PB3/PB4/PA13/PA14/PA15引脚默认功能参照   PB3-------------...

2018-03-13 10:27:25 1666 1

转载 OLED原理、时序和操作+自己源码程序

转载博客:http://blog.csdn.net/abap_brave/article/details/53022540一,OLED简介OLED,即有机发光二极管,采用非常薄的有机材料图层和玻璃基板制成 当有电流通过时,有机材料会发光,OLED屏幕可视角度大,节省电能优点:分辨率高,自发光,不需背光源,对比度高,厚度薄,视角广,反应速度快,温度范围广,制造及制程简单缺点:价格贵,尺寸难以大型化(...

2018-03-11 18:15:27 21302

原创 DMA+DAC+TIMER输出正弦波 自己验证

#define PI 3.1415u16 DAC_Channel1WaveValue[256]; // 用函数封装/**********************************************************// 函数名称:   void  Sine_WaveData(u16 cycle ,u16 *D)// 函数功能:正弦波形数据产生*******************...

2018-03-09 10:58:22 5362 3

转载 STM32 使用DMA+DAC+TIMER输出正弦波

来自博客:http://www.cnblogs.com/zhoubatuo/p/6123217.html之前已经简单论述过,根据我个人菜鸟的了解与认识,对之前的知识进行整理回顾:DMA:我的理解就是一个通道,或者是一座桥梁。在静态内存到静态内存,或者外设到静态内存间的一个通讯的通道。建立这个通道的好处是:可以抛开CPU,不占用CPU的资源,直接使用这块内存的内容,速度也会加快。DAC:STM32F...

2018-03-08 09:57:16 14846 7

原创 IAR软件仿真调试

https://wenku.baidu.com/view/34eaa6b17e21af45b207a882.html

2018-03-05 15:33:12 14876

原创 宋老师IIC读写方法

/* E2读取函数,buf-数据接收指针,addr-E2中的起始地址,len-读取长度*/void E2Read(unsigned char *buf, unsigned char addr, unsigned char len){    do {                       //用寻址操作查询当前是否可以进行读写操作        I2CStart();        if (I...

2018-03-02 11:29:01 1990

原创 STM32 PWM模式

PWM模式(脉冲宽度调制):TIMx_ARR确定频率、TIMx_CCRx确定占空比 1. 使能定时器3和相关IO口时钟。         使能定时器3时钟:RCC_APB1PeriphClockCmd();         使能GPIOB时钟:RCC_APB2PeriphClockCmd();2. 初始化IO口为复用功能输出。函数:GPIO_Init();        GPIO_InitStru...

2018-02-28 20:07:18 2356

原创 程序中常用的延时等待处理方式

// 通过串口给蓝牙给名字void BT_Name_Read(void) // 读取蓝牙的名字{       Uart_Send_Data("AT+NAME\r\n", 9);  // 发送AT指令    BT_CheckTime(BT_NAME_READ); // 检测发送的AT指令返回命令状态及超时检测}void BT_CheckTime(unsigned char BT_ATSet){   ...

2018-02-27 19:04:41 1252

原创 STM32 NVIC中断优先级:抢占优先级&响应优先级区别

首先,对STM32中断进行分组,组0~4。同时,对每个中断设置一个抢占优先级和一个响应优先级值。分组配置是在寄存器SCB->AIRCR中配置:抢占优先级 & 响应优先级区别:1. 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。2. 抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。3. 抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪...

2018-02-26 19:05:36 5526

原创 STM32 时钟RCC相关配置参考stm32f10x_rcc.h

1. 时钟使能配置:RCC_LSEConfig()、RCC_HSEConfig()、RCC_HSICmd()、RCC_LSICmd()、RCC_PLLCmd()......2. 时钟源相关配置:RCC_PLLConfig()、RCC_SYSCLKConfig()、RCC_RTCCLKConf().....3. 分频系数选择配置:RCC_HCLKConfig()、RCC_PCLK1Config()、...

2018-02-25 20:48:47 1892

原创 C语言易错用法

一:怎样用extern声明一个数组为外部数组:方法一:1、首先定义一个数组,u8 USART_RX_BUF[100];2、extern u8 USART_RX_BUF[];方法二:1、首先定义一个数组,u8 USART_RX_BUF[100];2、定义一个指针,并绑定数组:u8 *pRxBuf = USART_RX_BUF;3、这样就可以用extern u8 *pRxBuf去声明。间接的访问数组。...

2018-01-31 20:17:47 844

转载 IAR __no_init 问答

extern volatile BYTE sppRxStatus;extern volatile BYTE sppTxStatus;__no_init SPP_RX_STRUCT rxData @ "PM0_XDATA";__no_init SPP_TX_STRUCT txData @ "PM0_XDATA";大侠告诉我,后两句是什么意思?_no_init在编程环境

2018-01-27 16:29:29 981

原创 STM32 IAP升级参考贴子

关于STM32 IAP升级操作参考:http://www.openedv.com/forum.php?mod=viewthread&tid=42195&highlight=0X20001000%2B4http://www.openedv.com/posts/list/14640.htmhttp://www.openedv.com/posts/list/26509.h

2018-01-27 15:31:46 270

原创 IAR工程文件配置

2018-01-27 10:53:16 1960

转载 STM32 IAP相关知识

转载:http://www.openedv.com/forum.php?mod=viewthread&tid=85906           STM32实现IAP功能的学习笔记最近因项目需求要实现STM32的在线升级即IAP功能,先将这几天的学习体会和IAP的具体实现总结出来,分享给大家,希望对同样实现IAP的童鞋有所帮助,文中最后会上传名为STM32_Update.z

2018-01-22 14:33:19 236

原创 STM32定时器BURST模式

STM32 Burst模式可以方便的设置定时器的预分频值TIMx_PSC寄存器、自动重载值TIMx_ARR寄存器、定时器重复计数寄存器TIMx_RCR寄存器、定时器输出比较寄存器TIMx_CCR寄存器。这样就很容易使用DMA的性能改变定时器的频率、占空比。注意地址值的对应。

2018-01-16 14:26:48 2041

原创 STM32串口+DMA

1、什么叫串口DMA 请求(战舰STM32开发板)       说这个问题之前先简单回顾DMA的基本特性。先导出原子哥的PPT内容:       DMA 全称Direct Memory Access,即直接存储器访问。            DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。   STM32有

2018-01-13 10:40:28 3455 2

转载 STM32存储器结构&存储器映射

问题:            1   什么是存储器映射?是怎么一个运作过程?           2   stm32总体架构           3   CM3内核结构 觉得下面这篇文章写得很精彩,转来收藏,和大家分享~  以下转自:http://blog.sina.com.cn/s/blog_6a31d1060100ua9v.html  1 STM32系统

2018-01-13 09:00:21 388

原创 STM32 定时器输出PWM的模式

数据手册上TIMx_CCMR1寄存器的6:4位决定了定时器输出PWM的几种模式:000:冻结。输出比较寄存器TIMx_CCR1与计数器TIMx_CNT间的比较对OC1REF不起作用。即当计数器值与比较值相等时管脚上电平信号保持上一次的信号。eg:TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing; // 输出比较模式设置为冻结模式TIM

2018-01-12 15:25:10 5350

转载 STM32串口空闲中断问题

转载:https://www.cnblogs.com/Lifescoding/p/3945417.html1.空闲中断是接受数据后出现一个byte的高电平(空闲)状态,就会触发空闲中断.并不是空闲就会一直中断,准确的说应该是上升沿(停止位)后一个byte,如果一直是低电平是不会触发空闲中断的(会触发break中断)。2.关于第二点有要铺垫的三个情况,datasheet中"当

2018-01-12 10:41:01 11667 1

转载 STM32 串口采用DMA方式收发

转载:http://blog.csdn.net/gdjason/article/details/51019219一直都没有整理STM32 DMA应用,这篇文章算是抛砖引玉吧,欢迎拍砖。 本人QQ 330952038,欢迎交流学习什么是DMA —- Directional Memory Access, 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。

2018-01-11 09:04:25 44082 9

转载 STM32 串口采用DMA方式接收数据

本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.参考链接:http://www.amobbs.com/forum.php?mod=viewthread&tid=5511863&highlight=dma%E6%8E%A5%E6%94%B6环境:主机:WINXP开发环境:MDK4.23

2018-01-10 18:37:44 15847 2

转载 SVN使用

操作步骤1. 本地建立仓库:在本地新建文件夹,右键 —> TortoiseSVN —> Create repository here;2. 下载已有仓库:在本地新建文件夹,右键 —> Checkout —> 输入用户名密码、下载的文件路径;3. 更新本地仓库:选中仓库,右键 —> SVN Update;4. 上传本地文件:选中仓库,右键 —> SVN Commi

2018-01-10 10:56:32 176

原创 定时器PWM

利用TIM3四个通道输出四路不同频率和占空比的PWM:步骤一:开启定时器TIM3时钟。步骤二:初始化四个通道GPIO。步骤三:定时器基本配置。步骤四:四个输出通道的配置。步骤物:使能定时器和和各通道中断。中断函数: ...

2018-01-10 10:02:43 4248 3

125K非接触ID卡读卡器设计完整版

125K非接触ID卡读卡器设计完整版

2017-06-09

空空如也

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

TA关注的人

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