自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (8)
  • 收藏
  • 关注

原创 STM32之I2C原理

一、概述  1、I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发)  SDA:双向数据线,为OD门,与其它任意数量的OD与OC门成\线与\关系。  I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平(SDL=1;SCL=1)。连到总线上的任一

2017-12-29 22:48:56 6014

原创 STM32之SPI从机例程

#include "stm32f10x.h"/* RCC时钟配置 */void RCC_config(void){ ErrorStatus HSEStartUpStatus;/* RCC寄存器设置为默认配置 */RCC_DeInit();/* 打开外部高速时钟 */RCC_HSEConfig(RCC_HSE_ON);/* 等待外部高速时钟稳定 *

2017-12-28 22:47:14 21358 4

原创 STM32之SPI主机例程

#include "stm32f10x.h"/* RCC时钟配置 */void RCC_config(void){ ErrorStatus HSEStartUpStatus;/* RCC寄存器设置为默认配置 */RCC_DeInit();/* 打开外部高速时钟 */RCC_HSEConfig(RCC_HSE_ON);/* 等待外部高速时钟稳定 *

2017-12-28 22:46:36 7428

原创 STM32之SPI原理

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,是一种高速的,全双工,同步的通信总线,在很多器件中被广泛应用。SPI相关缩写SS: Slave Select,选中从设备,片选。CKPOL (Clock Polarity) = CPOL = POL = Polarity = (

2017-12-28 20:03:12 1983

原创 STM32之独立看门狗例程

2017-12-26 23:15:44 1639

原创 STM32之独立看门狗原理

STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即主时钟发生故障,它也仍然有效,这里我们需要注意独立看门狗的时钟不是准确的40Khz,二是在30~60Khz之间变化的一个时钟,只是我们估算以40Khz来计算,看门狗对时间要求不是很青雀,时钟有点偏差还是可以接受的。独立看门狗相关的几个寄存器1.1. 键值寄存器(IWDG_KR)寄存器各位描述如下:独

2017-12-26 23:15:09 5239

原创 STM32之RTC例程

2017-12-26 23:12:27 2894

原创 STM32之RTC原理

一、RTC时钟框图分析(重要)先熟悉一下几个知识点:      1、STM32的实时时钟(RTC)是一个独立的定时器!      2、RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域,即在系统复位火从待机模式唤醒后RTC的设置和时间维持不变。RTC这章中,对RTC相关的寄存器的操作特别重要,我在这里不解释了,请查阅手册。。先上图!R

2017-12-26 23:11:34 5802 2

原创 STM32之串口DMA例程

2017-12-26 23:02:28 2403

原创 STM32之DMA原理

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

2017-12-26 23:01:03 10884 1

原创 STM32之串口例程

2017-12-26 22:56:49 5851

原创 STM32之串口原理

串口通信定义  串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信原理  串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送

2017-12-26 22:42:34 2925

原创 STM32之外部中断例程

外部中断的基本步骤如下:1.设置好相应的时钟;2.设置相应的中断;3.IO口初始化;4.把相应的IO口设置为中断线路(要在设置外部中断之前)并初始化;5.在选择的中断通道的响应函数中中断函数。

2017-12-26 21:46:31 2505

原创 STM32之外部中断原理

STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处。STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0为第一组,那么依此类推,我们能得出一共有16 组,STM32 规定,每一组中同时只能有一个中断触发源工作,那么,最多工作的也就是16个外部中断。STM32F103 的中断控制器支持 1

2017-12-25 00:35:55 3781

原创 STM32之中断嵌套控制器

STM32 (Cortex-M3) 中的优先级概念STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”或“副优先级”,每个中断源都需要被指定这两种优先级。1. 何为占先式优先级(pre-emption priority)高占先式优先级的中断事件会打断当前的主程序/中断程序运行—抢断式优先响应,俗称中断嵌套。2

2017-12-24 18:32:54 3603 2

原创 STM32之GPIO浮空输入例程

2017-12-24 18:31:03 9095

原创 STM32之GPIO推挽输出例程

/* GPIO配置 */void GPIO_config(){    GPIO_InitTypeDef GPIO_InitStructure;     /* 使能GPIOC时钟 */    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);     /* 设置GPIOC寄存器为默认参数 */    GP

2017-12-24 18:27:46 7844

原创 STM32之GPIO原理

GPIO的配置种类有8种:(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出 

2017-12-24 18:26:21 513

原创 STM32之RCC配置

采用8MHz 外部HSE 时钟,程序的时钟设置参数流程如下:        1.将 RCC 寄存器重新设置为默认值:RCC_DeInit();        2.打开外部高速时钟晶振 HSE :RCC_HSEConfig(RCC_HSE_ON);        3.等待外部高速时钟晶振工作: HSEStartUpStatus = RCC_WaitForHSEStar

2017-12-24 18:07:09 1344

原创 STM32之RCC原理

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

2017-12-24 18:05:12 1082

转载 __main代码分析

STM32启动代码主要是分配堆栈及设置向量表,然后跳转到__main函数。跳转具体到代码段部分如下:[cpp] view plain copyReset_Handler   PROC                  EXPORT  Reset_Handler             [WEAK]               

2017-12-24 17:53:55 7356

原创 STM32 system_stm32f10x.c文件分析

startup_stm32f10x_md.s文件中,调用了一个叫SystemInit的函数,该函数其实在system_stm32f10x.c中定义,旨在初始化系统时钟、初始化外部SRAM、设置中断向量表地址。void SystemInit (void){  /* 使能内部高速时钟 */  RCC->CR |= (uint32_t)0x00000001;#

2017-12-24 17:46:16 5477

原创 STM32启动文件分析

Cortex-M3内核有3种情况:1、 通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x2000000,同时复位后PC指针位于0x2000000处;2、 通过boot引脚设置可以将中断向量表定位于FLASH区,即起始地址为0x8000000,同时复位后PC指针位于0x8000000处;3、 通过boot引脚设置可以将中断向量表定位于内置Bootloader区,运行

2017-12-24 17:42:42 399

原创 STM32分散加载文件

通过使用分散加载机制,可以为链接器指定映像的内存映射。分散加载为您提供了对映像组建分组和位置的全面控制。分散加载可以用于简单映像,但它通常仅用于具有复杂内存映射的的映像,即多个区在加载和执行时分散在内存映射中。加载域:就是编译之后得到的二进制文件烧写到rom中的这一段区域。包括只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWri

2017-12-24 16:14:24 3469

fastboot驱动和工具

windows平台下的fastboot驱动和工具,用于在uboot下烧录各种镜像到存储器中。

2018-12-25

dnw_for_linux

dnw是linux环境下使用usb启动三星arm处理器时的配套工具。

2018-07-17

modbus源码

modbus文档、freemodbus移植模板、linux插件freemodbus、freemodbus源码注释

2018-06-28

CANOpen资料

CANOpen源代码注释、协议资料和ppt、主站移植模板、从站移植模板。

2018-03-25

C语言ntp协议

c语言udp实现

2017-04-19

经纬度计算日出日落时间

C语言,根据经纬度计算日出、日落、天黑、天亮时间

2017-04-17

C语言ntp协议获取网络时间

2017-04-12

经纬度计算日出日落时间(C语言)

2017-04-12

空空如也

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

TA关注的人

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