stm32 NVIC中断管理实现[直接操作寄存器]

cortex-m3支持256个中端,其中包含了16个内核中断,240个外部中断。stm32只有84个中断,包括16个内核中断和68个可屏蔽中断。stm32f103上只有60个中断,f107上才有68个中断。       中断是stm32很基础的一个功能,学会使用中断,才可以更好的使用其他的外设...

2016-08-31 22:21:04

阅读数:1086

评论数:0

stm32 printf的实现

嵌入式系统开发中,常常使用串口将重要的数据或者字符信息打印到PC,为系统的调试带来了很大的便利。本文简单介绍一下printf在stm32上的实现,当然也不仅限于stm32,只要把串口发送函数稍加改动就可以移植其他任何微控制器环境上。 提到printf,首先简单介绍一下可变参数的实现va函数: v...

2016-08-30 22:01:17

阅读数:934

评论数:0

stm32 PVD 可编程电压监测器

PVD (Programmable Votage Detector) ,即可编程电压监测器 。stm32库函数手册中没有细讲这个模块,只是在 PWM一章中列出了两个相关函数。但是这个功能在实际项目中会有较大的作用, 当电压过低时,对系统的一些数据使用掉电不丢失的 EEPROM 或 Flash 保存...

2016-08-30 21:39:42

阅读数:501

评论数:1

stm32 SWD 下载 调试配置

找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:       我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PI...

2016-08-30 21:39:02

阅读数:632

评论数:0

stm32 UCGUI 完美移植

UCGUI是一种嵌入式应用中的图形支持系统。它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。           它的设计架构是模块化的,由不同的模块中的不...

2016-08-30 21:38:17

阅读数:3009

评论数:0

stm32 DA 数模转换

stm32并不是所有的型号都有DAC功能,只有stm32f103xC/D/E系列 才有DAC转换功能。由于库函数手册中没有相关说明,所以只能通过在MDK提供的相关库文件 stm32f10x_dac.c 中找到相应的DAC函数,做了一番尝试。     折腾了一天,实现了DAC的转换和三角波的输出。我...

2016-08-30 21:37:44

阅读数:1708

评论数:0

stm32 驱动 触摸屏

由于智能手机的发展和大屏幕的兴起,触摸屏已经得到了广泛的应用。触摸屏分为两种:电阻触屏   俗称“软屏”;电容触屏俗称“硬屏”。       电阻触摸屏的屏体部分是一块多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的阻性材料组成的导电层(ITO膜),上面再盖有一层外表面经过硬化处理、...

2016-08-30 21:36:28

阅读数:1652

评论数:0

stm32 Fatfs 读写SD卡

读写SD是嵌入式系统中一个比较基础的功能,在很多应用中都可以用得上SD卡。折腾了几天,总算移植成功了 最新版Fatfs(Fatfs R0.09) ,成功读写SD卡下文件。              FatFs (http://elm-chan.org/fsw/ff/00index_e.html)是...

2016-08-30 21:35:33

阅读数:5233

评论数:0

Uip WebServer 实现

Uip的Webserver比较复杂,用c语言实现一个简单服务器的所有功能,路由功能,GET传参,动态页面生成等。   要运行Uip的WebServer 只需要: 1. 修改uip-con.h 里的#inlcude "webserver.h"  去除其注释 2. 在User/ma...

2016-08-30 21:34:45

阅读数:408

评论数:0

Uip WebClient 实现

Uip WebClient 实现的功能是接入互联网,通过http协议访问某个网站。HTTP是一种应用层协议。基于TCP/IP。  TCP/IP作为传输层协议解决数据如何在网络中传输,HTTP作为应用层协议,解决如何包装数据。默认的HTTP访问端口为80端口。   Uip + stm32 的移植...

2016-08-30 21:33:41

阅读数:414

评论数:0

Uip + Stm32移植问题总结

uIP 由瑞典计算机科学学院(网络嵌入式系统小组)的Adam Dunkels (http://dunkels.com/adam/uip/)开发。其源代码由C 语言编写,并完全公开,有了这个TCP/IP协议栈,让嵌入式可以实现的功能更为丰富。可以作为WebClient 向指定网站提交数据,可以作为W...

2016-08-30 21:31:59

阅读数:261

评论数:0

stm32 can总线通信[库函数]

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐...

2016-08-30 21:30:11

阅读数:1443

评论数:0

stm32 i2c通信 [操作寄存器+库函数]

I2C总线是由NXP(原PHILIPS)公司设计,有十分简洁的物理层定义,其特性如下: 只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL; 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器; 它是一个真正的...

2016-08-30 21:29:24

阅读数:3996

评论数:1

stm32 DMA数据搬运 [操作寄存器+库函数]

DMA(Direct Memory Access)常译为“存储器直接存取”。早在Intel的8086平台上就有了DMA应用了。           一个完整的微控制器通常由CPU、存储器和外设等组件构成。这些组件一般在结构和功能上都是独立的,而各个组件的协调和交互就由CPU完成。如此一来,CPU作...

2016-08-30 21:28:35

阅读数:644

评论数:0

stm32 Flash读写[库函数]

通过对stm32内部的flash的读写可以实现对stm32的编程操作。           stm32 的内置可编程Flash在许多场合具有十分重要的意义。如其支持ICP特性使得开发人员对stm32可以警醒调试开发,可以通过JTAG和SWD接口对stm32进行程序烧写;支持IAP特性使得开发人...

2016-08-30 21:27:32

阅读数:268

评论数:0

stm32 RTC实时时钟[操作寄存器+库函数]

"RTC"是Real Time Clock 的简称,意为实时时钟。stm32提供了一个秒中断源和一个闹钟中断源。   RTC的技术器是一个32位的计数器,使用32.768khz的外部晶振。   2038年问题    在计算机应用上,2038年问题可能会导致某...

2016-08-30 21:26:30

阅读数:5170

评论数:0

stm32 BKP寄存器操作[操作寄存器+库函数]

BKP是“BACKUP”的缩写,stm32f103RCTE的内部配备了10个16位宽度的BKP寄存器。在主电源切断或系统产生复位时间时,BKP寄存器仍然可以在备用电源的支持下保持其内容。  BKP在实际应用中可以存入重要数据,防止被恶意查看,或用于断电回复等。   本例实现对BKP寄存器的读写操作...

2016-08-30 21:25:38

阅读数:524

评论数:0

stm32 低功耗设计[操作寄存器+库函数]

stm32的低功耗模式有三种:   睡眠模式(内核停止,外设运行) 停机模式(所有时钟都停止) 待机模式(1.8V内核电源也关闭)   在这三种模式中,最低功耗的是待机模式,在此模式下,最低只需要2uA左右的电流。整个1.8V供电区被断电,PLL、HSI、HSE振荡器都被关闭。SRAM和寄存器...

2016-08-30 21:24:29

阅读数:300

评论数:0

stm32 AD模数转换[操作寄存器+库函数]

stm32f103最少有2个AD模数转换器,每个ADC都有18个通道,可以测量16个外部和2个内部模拟量。最大转换频率为1Mhz,也就是转换时间为1us(在 ADCCLK = 14Mhz,采样周期为1.5个时钟周期时)。最大时钟超过14Mhz,将导致ADC转换准确度降低。stm32的ADC是12位...

2016-08-30 21:23:17

阅读数:969

评论数:0

stm32 窗口看门狗[操作寄存器+库函数]

stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗是限制喂狗时间在0-x内,x由你的相关寄存器决定。喂狗的时间不能过晚。 窗口看门狗,所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时...

2016-08-30 21:22:12

阅读数:362

评论数:0

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