(stm32f103学习总结)—can总线】的更多相关文章

参考:CAN总线的位时序与参数设置 CAN总线位同步 1 CAN总线介绍 CAN 是Controller Area Network 的缩写,中文意思是控制器局域网 络,是ISO国际标准化的串行通信协议.它是德国电气商博世公司于1986 年面向汽车而开发的CAN 通信协议.此后,CAN 通过ISO11898 及 ISO11519 进行了标准化.CAN是国际上应用最广泛的现场总线之一,在 欧洲已是汽车网络的标准协议.CAN 的高性能和可靠性已被认同,并被 广泛地应用于工业自动化.船舶.医疗设备.工业…
软硬件下载程序和程序运行的相关问题和解决方案,以我自身买的STM32F103C8T6为例 (1) 硬件需要 1. 购买一个STM32F103XXX的板子.这是一个操作实践性非常强的一个学习过程,如果没有实物的构件,即使学习的再好,记忆力非常好,到真正实际用的时候也会出现各式各样的问题,所以必须要有自己的板子. STM32F103C8T6实物图 2. 需要一个USB转TTL的模块板.这个是程序下载到STM32F103的一个必须硬件要求,有些开发板自带转换端口,可以忽略这步. 转换模块 3. 一根安…
一.GPIO基本结构 二.GPIO工作模式 输入模式 输入浮空 输入上拉 输入下拉 模拟输入 输出模式 开漏输出 开漏复用功能 推挽式输出 推挽式复用功能 库函数中所对应的代码 1 typedef enum 2 { 3 GPIO_Mode_AIN = 0x0, /* 模拟输入 */ 4 GPIO_Mode_IN_FLOATING = 0x04, /* 浮空输入,复位后的状态 */ 5 GPIO_Mode_IPD = 0x28, /* 下拉输入,这里的下拉是指单片机内部的电阻 */ 6 GPIO_…
转自http://blog.csdn.net/xiaochongtou123/article/details/7752328 1.概述: 通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C.IIS.RTC.看门狗等)都被当作平台设备来处理. 从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver,来管理相应设备. Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用plat…
发送和接收消息的方式类似其他的发送和接收消息的事件总线一样,不同的点或者应该注意的地方: 1,比如在子线程构造方法里面进行实现总线的注册操作: 2,要想子线程中接收消息的功能执行,必须启动线程. 3,添加tag和不添加tag类似其他. package com.example.mysimpleeventbus; import java.util.ArrayList; import java.util.List; import org.simple.eventbus.EventBus; import…
这个和普通的事件总线的发送接收一样. package com.example.mysimpleeventbus; import java.util.ArrayList; import java.util.List; import org.simple.eventbus.EventBus; import org.simple.eventbus.Subscriber; import org.simple.eventbus.ThreadMode; import android.content.Inte…
1,不同Activity直接发送Ansy的事件,以及其他任何事件,必须通过 postSticky方式来进行事件的传递,而不能通过post的形式来进行传递:EventBus.getDefault().postSticky(newUser("soyoungboy","西安财经学院"),"soyoungboy");. 2,接受到事件后,很有必要移除事件里面的内容,否则事件内容会多次叠加:EventBus.getDefault().removeStick…
最近再看eventbus相关代码,首先从使用开始,后期再从源码角度分析eventbus.使用Demo后期公布到github上去. 使用的框架地址:https://github.com/bboyfeiyu/AndroidEventBus Sticky 事件 使用例子: 1,首先每个Activity或者fragement都要进行eventBus的注册和反注册. 发送sticky事件的activity: package com.example.mysimpleeventbus; import org.…
一.概述 ConfigClient(微服务)从ConfigServer端获取自己对应的配置文件,但是目前的问题是:当远程git仓库配置文件发生改变时,每次都是需要重启ConfigCient(微服务),如果有上百上千个微服务呢?我想我们不会一个个去重启每个微服务,也就是说如何让ConfigServer端通知到ConfigClient端?即ConfigClient端如何感知到配置发生更新? SpringCloud Bus会向外提供一个http接口,即下图中的/bus/refresh.我们将这个接口配…
一.外部中断介绍 1.1 EXTI简介 EXTI简介 STM32F10x外部中断/事件控制器(EXTI)包含多达 20 个用于产生事 件/中断请求的边沿检测器.EXTI的每根输入线都可单独进行配置,以选 择类型(中断或事件)和相应的触发事件(上升沿触发.下降沿触发或 边沿触发),还可独立地被屏蔽.(stm32f103有19个) 1.2 EXTI结构框图 1.3 外部中断/事件线映射 STM32F10x的EXTI具有20个中断/事件线,如下:(stm32f103有19个以太网唤醒事件没有:stm3…
一.NVIC 介绍 NVIC 英文全称是 Nested Vectored Interrupt Controller,中文意思就是嵌套向量中断控制器,它属于 M3 内核的一个外设,控制着芯片的中断相关功能.由于 ARM 给 NVIC 预留了非常多的功能,但对于使用 M3 内核设计芯片的公司可能就不需要这么多功能,于是就需要在 NVIC 上裁剪.ST 公司的 STM32F103 芯片内部中断数量就是 NVIC 裁剪后的结果.上面说到 NVIC 控制着芯片的中断相关功能,那么肯定有很多对应的寄存器,在…
一. DS18B20简介 DS18B20数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式.主要根据应用场合的不同而改变其外观.封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合.耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域. 二. DS18B20的特性 1.适应电压范围更宽,电压范围:3.0-5.5V,在寄生电源方式下可由数据线供电 2…
一.STM32F1 RTC介绍 1.1 RTC简介 STM32 的实时时钟( RTC)是一个独立的定时器. STM32 的 RTC 模 块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的 功能.修改计数器的值可以重新设置系统当前的时间和日期. RTC模块和时钟配置是在后备区域,无论器件状态如何(运行模式. 低功耗模式或处于复位状态),只要保证后备区域供电正常,RTC便不会 停止工作,所以通常会在后备区域供电端加一个纽扣电池,即使主电源 停止供电,后备电源也会启动供电,从而保证RTC时…
一.STM32F1 ADC介绍 TM32F103 系列一般都有 3 个 ADC,这些 ADC 可以独立使用,也可 以使用双重(提高采样率).STM32F1 的 ADC 是 12 位逐次 逼近型的模拟数字转换器.它具有多达 18个复用通道,可测量来自16 个外部源.2 个内部源信号. 这些通道的 A/D 转换可 以单次.连续.扫描或间断模式执行.ADC 的结果可以左对齐或右对齐 方式存储在 16 位数据寄存器中.ADC具有模拟看门狗特性,允许应用程 序检测输入电压是否超出用户定义的阀值上限或者下限…
一.输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能,输入捕获就是其中一种.STM32F1 除了基本定时器 TIM6 和 TIM7,其他定时器都具有输入捕获功能.输入捕获可以对输入的信号的上升沿,下降沿或者双边沿进行捕获,通常用于测量输入信号的脉宽.测量 PWM 输入信号的频率及占空比. 输入捕获的工作原理比较简单,在输入捕获模式下,当相应的 ICx 信号检测到跳变沿后,将使用捕获/比较寄存器(TIMx_CCRx)来锁存计数器的值.简单的说就是通过检测 TIMx_CHx 上的…
一.PWM简介 PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调 制,简称脉宽调制.它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单.灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信, 功率控制与变换,电动机控制.伺服控制.调光.开关电源,甚至某些 音频放大器,因此学习PWM具有十分重要的现实意义. 其实我们也可以这样理解,PWM是一种对模拟信号电平进行数字编码 的方法.通过高分辨率计数…
0.       准备 先用st-link连接stm32核心板与PC,用于烧录 St-link Stm32 3.3V 3.3V GND GND SWDIO DIO SWCLK DCLK 再用USB串口板连接,用于查看串口输出 USB Stm32 RX TX(A9) TX RX(A10) 安装完毕驱动并连接好以后,进入设备管理器能够看到它们都已被识别. 打开putty.exe,选择串口连接,用于查看之后的串口输出. 1.       编写Cube程序.配置UART0为9600,8n1.上电后向串口…
一.定时器介绍 STM32F1的定时器非常多,由2个基本定时器(TIM6.TIM7).4个通 用定时器(TIM2-TIM5)和2个高级定时器(TIM1.TIM8)组成.基本定 时器的功能最为简单,类似于51单片机内定时器.通用定时器是在基本 定时器的基础上扩展而来,增加了输入捕获与输出比较等功能.高级定 时器又是在通用定时器基础上扩展而来,增加了可编程死区互补输出. 重复计数器.带刹车(断路)功能,这些功能主要针对工业电机控制方面 1.1 通用定时器简介 STM32F1的通用定时器包含一个 16…
STM32分类 STM32的命名方法 怎样选择合适的MCU 一个原则:花最少的钱,做最多的事 在确定项目需求的情况下,一般按照下面的顺序来选择合适的MCU 如何分配原理图引脚 如何寺找引脚的功能说明 官方资料:STM32Fxxx数据手册,也叫datasheet.注意数据手册跟参考手册的区别 数据手册中对引脚的功能定义 引脚的功能定义解读 PCB哪里打样…
一.STM32待机模式介绍 1.1 STM32低功耗模式介绍 很多单片机具有低功耗模式,比如MSP430.STM8L等,我们的STM32 也不例外.默认情况下,系统复位或上电复位后,微控制器进入运行模 式.在运行模式下,HCLK 为CPU提供时钟,并执行程序代码.当 CPU 不 需继续运行(例如等待外部事件)时,可以利用多种低功耗模式来节省 功耗.用户需要根据最低电源消耗.最快速启动时间和可用的唤醒源等 条件,选定一个最佳的低功耗模式. 当然在运行模式下,也可以通过如下方式降低功耗: (1)降低…
一.IWDG介绍 1.1 IWDG简介 STM32F1芯片内部含有两个看门狗外设,一个是独立看门狗IWDG,另 一个是窗口看门狗WWDG.两个看门狗外设(独立和窗口)均可用于检测 并解决由软件错误导致的故障.独立看门狗简单理解其是就是一个12位 递减计数器,当计数器从某一个值递减到0时(如果看门狗已激活),系 统就会产生一次复位.如果在计数器递减到0之前刷新了计数器值,那么 系统就不会产生复位.这个刷新计数器值过程我们称之为"喂狗".看 门狗功能由 VDD 电压域供电,在停止模式和待机…
一.printf重定向简介 我们知道C语言中printf函数默认输出设备是显示器,如果要实现在 串口或者LCD上显示,必须重定义标准库函数里调用的与输出设备相关的函数.比如使用printf输出到串口,需要将fputc里面的输出指向串口, 这一过程就叫重定向. 那么如何让STM32使用printf函数呢? int fputc(int ch,FILE *p) //函数默认的,在使用printf函数时自动调用 { USART_SendData(USART1,(u8)ch); while(USART_G…
一. USART简介 USART即通用同步异步收发器,它能够灵活地与外部设备进行全双工 数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求. UART即通用异步收发器,它是在USART基础上裁剪掉了同步通信功能,同 步和异步主要看其时钟是否需要对外提供,这个前面也介绍了.我们开 发板上使用的STM32F103ZET6芯片含有3个USART,2个UART外设.它们都 具有串口通信功能,USART它支持同步单向通信和半双工单线通信:还支 持 LIN(域互连网络).智能卡协议与 IrDA…
CAN总线系列讲座第五讲--CAN总线硬件电路设计一  实战学习背景 CAN总线节点的硬件构成方案有两种,其中的方案:(1).MCU控制器+独立CAN控制器+CAN收发器.独立CAN控制器如SJA10000.MCP2515,其中MCP2515通过SPI总线和MCU连接,SJA1000通过数据总线和MCU连接.该方案编写的CAN程序是针对独立CAN控制器的,程序可移植性好,编写好的程序可以方便的移植到任意的MCU.但是,由于采用了独立的CAN控制器,占用了MCU的I/O资源,并且电路变得复杂.为了…
本节的触摸屏驱动也是使用之前的输入子系统 1.先来回忆之前第12节分析的输入子系统 其中输入子系统层次如下图所示, 其中事件处理层的函数都是通过input_register_handler()函数注册到input_handler_list链表中 搜索input_register_handler注册函数,就可以看到都是事件处理层里的函数: 所以最终如下图所示: 右边的驱动事件处理,内核是已经写好了的,所以我们的触摸屏只需要写具体的驱动设备,然后内核会与触摸屏驱动tsdev.c自动连接 2.本节需要…
基础命令学习目录首页 最近经常用到 lspci -nn | grep Eth 命令,需要学习下PCI总线,找到一篇文章,虽然也是转载,但写的较清晰,再次转载下. http://blog.csdn.net/zhenhuakang/article/details/5463605 一.PCI简介      PCI是一种外设总线规范.我们先来看一下什么是总线:总线是一种传输信号的路径或信道.典型情况是,总线是连接于一个或多个导体的电气连线,总 线上连接的所有设备可在同一时间收到所有的传输内容.总线由电气…
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第18章       STM32H7的GPIO应用之跑马灯 本章教程为大家介绍STM32H7的GPIO应用之跑马灯,跑马灯作为经典的测试例程,可以让大家对STM32H7应用有个简单的整体认识. 18.1 初学者重要提示 18.2 跑马灯硬件设计 18.3 跑马灯软件驱动设计 18.4 跑马灯板级支持包(bsp_led.c) 18.5 实验例程设计框架 18.6 跑马灯…
转自:https://www.cnblogs.com/lifexy/p/7628889.html 本节的触摸屏驱动也是使用之前的输入子系统 1.先来回忆之前第12节分析的输入子系统 其中输入子系统层次如下图所示, 其中事件处理层的函数都是通过input_register_handler()函数注册到input_handler_list链表中 搜索input_register_handler注册函数,就可以看到都是事件处理层里的函数: 所以最终如下图所示: 右边的驱动事件处理,内核是已经写好了的,…
过多的描述就不扯了,本文主要记录RabbitMQ的安装以及简单使用.本次安装是为了实现spring cloud的消息总线:SpringCloud全家桶学习之消息总线---SpringCloud Bus 一.RabbitMQ安装 1.下载Erlang的rpm包 RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注:Erlang环境一定要与RabbitMQ版本匹配:https://www.rabbitmq.com/which-erlang.html Erlang下载地址:https…
最近学习springcloud消息总线需要用到rabbitmq,然后安装的时候踩了一些坑,记录如下: 首先安装rabbitmq之前需要先安装erlang,因为rabbitmq服务端使用erlang写的,依赖erlang 安装好erlang之后安装rabbitmq 第一个坑: 1.rabbitmq的版…