- 博客(32)
- 资源 (3)
- 收藏
- 关注
原创 正点原子的USMART调度组件学习(1)
1. 简述USMART 是由 ALIENTEK 开发的一个灵巧的串口调试互交组件,通过它你可以通过串口助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字 ( 10/16进制, 支持负数)、字符串、函数入口地址等作为参数),单个函数最多支持 10 个输入参数,并支持函数返回值显示。学习的重点是什么?1) 学习串口收发的应用;2) 简单的指令
2017-01-16 19:45:46 5540
原创 STM32学习--FMSC 和 LCD(3)
4 软件编程 4.1 底层操作函数 底层操作函数主要包括: FMSC_init:包括硬件时钟、GPIO和FMSC的初始化; LCD_init:按9341的说明书对其进行初始化,都有现成的程序代码; void LCD_WR_REG(u16 regval):写寄存器值函数 void LCD_WR_DATA(u16 data):写数据函数; u16 LCD_
2017-01-14 16:00:04 2231
原创 STM32学习--FMSC 和 LCD(2)
3.FSMC STM32 的 FSMC 将外部设备分为 3 类: NOR/PSRAM 设备、 NAND设备、 PC 卡设备。他们共用地址数据总线等信号,他们具有不同的 CS 以区分不同的设备。 外部 SRAM 的控制一般有:地址线(如 A0~A18)、数据线(如 D0~D15)、写信号( WE)、读信号(OE)、片选信号(CS),如果 SRAM 支持字节控制,那么还有 UB/LB 信号。而 TF
2017-01-14 15:51:44 1658
原创 STM32学习--FMSC 和 LCD(1)
FMSC 和 LCD 1. 简述 TFT-LCD也叫做真彩液晶显示器,即薄膜晶体管液晶显示器。价格便宜量又足,在设备仪表显示中经常被用到。一般情况下,仪备用的LCD都可以直接采购市场上成熟的LCD模块,可以降低开发成本,提高开发速度。当然,有些便携式设备可能由于空间体积的限制也只能一体化设计来减小体积,达到更好的工业设计效果。在我的学习过程中,采用的是成熟的
2017-01-08 19:04:50 3244
原创 STM32学习--OLED
OLED 1. 简述现在单色点阵的小显示模块的使用场影逐渐变少,但做为红极一时的显示应用还是有学习的意义。我们以正点原子的OLED模块为对象开展学习。单色点阵的显示模块主要有5种接口方式:并行的有8080和6800,串行的主要是I2C和三线、四线的SPI。一般的驱动芯片均支持这些模式,但具体芯片可能有差别。这里我们主要聊8080和四线的SPI,因为正点原子有相应的实例
2017-01-08 17:28:03 6742
原创 STM32学习--定时器(高级定时器)
高级定时器 1、功能增加由上图可了解到高级定时器在通用定时器上增加了三个功能部分: ① 时基部分:增加重复次数计数器和RCR寄存器。允许在指定数量的计数周期后产生更新事件,更新相应寄存器,其实际用处暂不了解,减少中断或DMA处理的资源占用? ②输入部分:增加刹车输入,可产生刹车事件。其源可为外部BKIN口和CCS事件,可控制输的。主要用在安全方面,如遇到紧急事件或系统异常时关闭输出口。
2016-11-23 20:48:12 7830 1
原创 STM32学习--定时器(通用定时器)3
6. 其他模式6.1 触发控制器结构 图中是触发控制器的结构框图,这个图很关键,可以让我们了解通用定时器很多扩展模式的 信号驱动流程,以供更好理解后面的模式学习。 从图中可知,触发控制器有三个功能部分: ① 输出TRGO信号,这是做为主模式向提供其它定时器、DAC/ADC触发信号,在这个过程中其它定时器应为从模式。TRGO输出后连至其它时器的ITR上。 ② 从模式控制器:从模式控
2016-11-19 21:34:11 7350
原创 STM32学习--PWM测试
今天针对通用定时器的输入捕获和PWM输出进行了学习测试,使用库函数进行。1. PWM输出测试1.1 测试方法 输出测试使用软件调试方法,直接在MDK调试界面的逻辑分析仪进行。软件调试设置网上一堆一堆的,我只描述一下遇到问题点。 图中,软件仿真只用设1、2项,加入硬件调需设第3项。 打开逻辑分析仪,在setup中输入想看的端口,如下图设置。 在端口号上右击,选择bit,然后
2016-11-10 23:14:23 2663
原创 STM32学习--定时器(通用定时器)2
5. 输出模式5.1 比较输出 5.1.1 原理 如图所示,输出理解时注意两种信号OCxREF和OCx,OCx是直接连到端口的信号,OCxREF是输出控制的输出信号。一般在参考手册中大多数讲OCxREF。OCx与OCxREF可由CCxP控制是否反向,由CCxE控制信号输出。 比较输出功能:①输出一个波形②指示一段给定时间已到。 它的原理是通过计数器的值CNT与各通道CCRx值进行对比,当C
2016-11-10 23:11:33 3720
原创 STM32学习--定时器(通用定时器)1
通用定时器1. 组成结构1.1 组成模块 如图所示,通用定时器主要由计数部分、触发控制器、捕获/比较模块组成。计数部分的核心是计数器,受预分频器输出的信号(CK_CNT)驱动,实现向上、向下、对齐模式的自动装载计数。预分频器输入由触发控制器控制,可选内部时钟、外部触发输入、内部触发接口、外部输入,这是实现各种从模式的关键部分。捕获/比较模块是实现通用定时器各种输入输出的功能部分,主要分为输入部
2016-11-08 19:37:29 5775
原创 STM32学习--定时器功能差异
STM32有三种定时器,通用定时器,高级定时器,基本定时器。功能区别 基本定时器通用定时器高级定时器计数器16位自动装载计数模式累加向上、向下、对齐分频器16位可编程分频输入捕获 4个独立
2016-11-07 19:40:06 553
原创 pixhawk win编译环境搭建
我是根据下面这个博客来进行编译环境搭建,里面很有参考价值。 http://blog.csdn.net/czyv587/article/details/51434076 具体步骤: 1.安装git 和tortoiseGit,主要是为下载源码,其实我直接去https://github.com/PX4/Firmware网站,好像也可以直接下下来,但还是建议用git方法下载。 2.下载工具链,这个
2016-11-03 20:47:46 585
原创 STM32学习--定时器(基本定时器)
1.功能及原理 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。这2个定时器是互相独立的,不共享任何资源。 由图可知其时钟源仅能来源于PCLK1,当PCLK1预分频系数为1时 TIMCLK =PCLK1,否则
2016-11-02 19:24:02 2552
原创 STM32学习--看门狗
1. 概述 看门狗用来防止程序跑飞、陷入死循环的,采用定时喂狗的方式来表示程序正在正常运行,一旦没有喂狗则会引起系统重起。 STM32内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗IWDG和窗口看门狗WWDG)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。2.两个看门狗区别
2016-11-02 19:15:06 960
原创 STM32学习--外部中断
先聊聊题外话,学习STM32,我大多从了解功能、框图到寄存器定义,然后在使用方法、配置步骤。其实配置时使用库函数是相当方便的,甚至可以不用看寄存器,但为深入了解一下,有时还是会多看看,而了解其方法脉络后再使用库函数更方便,只需查相应的库函数手册即可。1. 概述 STM32的外部中断资源丰富、使用灵活。在F1系统中最多有20个中断源(互联网型,其他类型有19个)。EXTI0~ EXTI15给IO口使
2016-11-01 20:17:08 776
原创 STM32学习--printf重定向
1.实现方法 STM32中串口输出使用printf函数,有两种方法1.使用microlib;2.使用标准库; (1) 使用microlib方法 ①添加printf的头文件 #include <stdio.h> ②重写int fputc(int ch, FILE *f)函数int fputc(int ch, FILE *f);函数int fputc(int ch, FILE *f)
2016-11-01 20:13:48 1249
原创 STM32学习--异常与中断
1.概述 Cortex-M3 有16个异常(实际只用15个,也叫内核中断),并提供240个外部中断(针对内核来讲),有3个优先级最高的不可屏蔽异常,即1~3号异常。 F1中最多持68个可屏蔽中断(即内核中在外部中断),对应68个中断源。如USART1对应37#中断,但有多种条个可以触发该中断,如读完成、写完成、溢出等等都可以触发同一个中断源,进入中断函数后需根据状态位再判断具体中断原因
2016-10-31 21:01:17 2407
原创 STM32学习--USART
USART也就是常说的串口,是目前单片机最常使用的重要接口,其传输速率并不是很快,但可适应单片机常用的场合。串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。除常用的RS485、RS232等协议外还基于USART也扩展了许多的协议,如智能卡协议、红外传输协议、汽车行业常用的LIN总线等等,USART还可通过转换与USB、蓝牙、ZIGBEE等接口。现在基本上所有的 M
2016-10-31 20:49:49 3143
原创 STM32学习-- 存储器组织
今天学习一下STM32F1的存储器组织,也看了一下F4的,有些地方有改进,但大体未变。1. 存储单元 F1主要有四个存储单元,分别中内部SRAM、内部FLAH、FSMC、AHB到APB桥(连接各种外设)。2.存储空间 由于其地址总线32位,所以将程序存储器、数据存储器、寄存器、IO端口都组织于4Gb的线性空间内,数据字节以小端格式存放在存储器中。 这个地址是由厂家规定好的,用户只能用而不
2016-10-28 20:51:56 1815
原创 STM32学习--systick
用途: 系统定时器(systick)是在Cotrx-m3内的定时器,属于内核定时器,其设计目的是为操作系统服务,为其提供“心跳”。操作系统心跳有两个特点,第一个是,时间恒定,产生周期性的中断,二是用户程序不能随意访问。在内核中设计该定时器,主要是可方便同内核的器件进行程序移植。该定时器特点是在睡眠状态也不会停止,会产生异常中断。 如果不使用操作系统,可以当做普通定时器使用。原理:
2016-10-28 20:49:27 489
原创 STM32学习---时钟系统
1. 时钟树 STM32的时钟系统比较复杂,我们主要通过时钟树来了解单片机内部的时钟配置情况。时钟树可以从开发指南中找到。以f1为例,学习一下他的树。 明确几个缩写定义: AHB 先进高速总线 APB1 先进设备总线1 APB2 先进设备总线2 时钟源 HSE 高速外部时钟 HSI 高速内部时
2016-10-26 19:44:58 961
原创 STM32学习---GPIO
1.GPIO模式STM32F1系列的GPIO有8种模式,四种输入,四种输出,输入分别是浮空、上拉、下拉和模拟;输出有开漏和推挽,再分别加上复用功能。F4系列中输出还可以加上上拉、下拉,多几种模式。在GPIO中最大可承受5V电压,在数据手册中I/o Level上标FT的均可兼容5V电平。 2.寄存器F1中通过CRH、CRL寄存器来设置8种模式,每个IO占4个位。F4中有4个寄存器MODER、OTYP
2016-10-23 22:23:35 788
原创 PIXHWAK硬件概述
飞控基本组成会包括: 处理器:用来获取信息,处理算法、输出舵机、通信交互。 传感器: 姿态传感器(三方向陀螺、加速度计)通过测量角速度和线加速度来计算飞行姿态; 导航设备:GPS 对飞机进行大地坐标系的定位; 磁力计 在惯性导航时修正传感器精度不够产生的积分偏差; 气压计 高度测量设备,参与高度控制;
2016-10-19 19:56:40 2579
原创 STM32最小系统
STM32内部资源相当丰富,如果真想最小,其实可以只用一个外部电源。但一般需求中最小系统一般包括电源、复位、时钟、调试接口,需要更高点要求的会有一个通信接口、外扩存储器等。1、 电源 STM可以使用单电源,其电压范围在2.0V~3.6V,一般用稳压器件会选择3.3V,使用锂电池电压会在2.6V~3.6V之间。 当然如果使用AD功能的话电压范围应在2.4V~3.6V。如果使用备用电源
2016-10-19 19:36:48 17653
转载 STM32系列选型指南
原文: http://blog.pandocloud.com/?p=551一、 STM32 32-bit ARM Cortex MCUs 概览STM32系列32位微控制器,基于ARM® Cortex®‑M处理器。它能支持32位广泛的应用,支持包括高性能、实时功能、数字信号处理,和低功耗、低电压操作,同时拥有一个完全集成和易用的开发。以STM32为应用的产品线非常
2016-10-10 21:32:14 30284
原创 STM32开发环境(3)----下载调试
4. 下载调试 STM32 程序下载主要有两种方法:串口和JLINK。串口下载也可以扩展为USB,JLINK支持JTAG、 SWD。 STM32 的串口下载一般是通过串口 1 下载的,使用USB下载其实也是应用这种方式。只是要在PC端下载USB转串口的驱动,在硬件端加一片USB转串口的片子。USB转串口的片子常用的是CH340,在PC端下端其驱动程序就可。另外还需使用ST
2016-10-10 21:24:41 1848
原创 STM32开发环境(2)----如何完成工程构建
接上文3. 如何完成工程构建 构建工程最简单方式就是使用厂家的固件库,如果对库文件很感兴趣,请参阅STM32固件库详解 (转载),里面讲解的非常清楚,如果只是想入门应用,先跟我们走一下流程。 以MDK为例,怎么构建一个工程,并编译、下载。(1)安装MDK,获取ST库源码 怎么安装、怎么获取,可以baidu,到处都有分享,不仔细描述。(2)新建工程
2016-10-07 20:48:56 906
原创 STM32开发环境(1)----开发环境选择
1 该用什么开发环境2 C还是Cplusplus. 该用什么开发环境 使用STM32当然是构建嵌入式系统。软件代码产生过程是编写->编译->汇编->链接->生成可执行文件->下载至系统的ROM或flash中调试、运行。 在这些过程中会使用编辑器、汇编器,编译器,常用的库,下载调试工具,在线调试工具链等等。不用怕麻烦,很多IDE都会将其集成,就看你习惯不习惯,用的称不称
2016-10-07 20:36:15 1975
原创 STM32F4 常用头文件
STM32F4 常用头文件在使用STM32时基本上会用到官方提供的一些库文件。 常用头文件如下: stm32f4xx.h:包含了stm32f4的寄存器结构体的定义(类似于c51的reg52.h) system_stm32f4xx.h:system_stm32f4xx.c的头文件startup_stm32f4xx.s:是启动文件,是一个汇编文件。core_cm4.h:内核功能的定义,比如NV
2016-10-04 20:49:13 4957
原创 STM32学习计划
随着stm32的芯片价格越来越亲民,种类越来越丰富。很多项目都会使用到它。以前使用时因为有些单片机的基础,所以基本上拿代码攒一下也都有过去,现在想系统学习一下相关的知识和用法。手里有一块正点原子的407开发板,而且正点的学习资料比较丰富,论坛组织也很好,人气非常旺。所以以它的资料为基础,制定学习计划。
2016-10-03 14:19:46 823
转载 RS232 RS485 串口 电平标准
RS-232个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。后来IBM的PC机将RS232
2015-10-06 12:24:47 2993
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人