STM32
ye_wei_yang
这个作者很懒,什么都没留下…
展开
-
TCP/IP
一、基本知识1、TCP、IP 协议族分为四层:应用层、传输层(TCP/UDP)、网络层(IP)、链路层。IP层提供点到点的服务,传输成提供端到端的服务。 2、域名系统提供主机名和IP之间的动态映射,端口号用来标识相互通信的应用程序,服务器使用知名的端口号,用户应用程序使用临时端口号。原创 2016-05-12 09:10:11 · 325 阅读 · 0 评论 -
emWin学习
一、API学习 1.1、初始化 int GUI_Init(void); 函数来初始化emWin内部数据结构和变量。如果在初始化之前调用WM_SetCreateFlags()使用窗口管理器,则在GUI_Init()内创建背景窗口。(也就是窗口设置创建标记必须在初始化之前)。 1.2、显示文本 可以显示字符串、十六进制、十进制、二进制数,文原创 2016-12-15 20:34:47 · 8673 阅读 · 1 评论 -
W25Q256学习
一、基本特性容量256Mb,最小的组织单位是页每个页256个字节,可进行页编程(一次写256个字节);16个页组成4KB的扇区,可进行扇区擦除,128个扇区组成32KB块,64KB的组,可以整片擦除。256有8192个扇区和512个块。 256支持标准的SPI接口,2/4线SPI,SPI频率最大104MHz,64位唯一序列号,256字节的安全寄存器。 在时钟的上原创 2017-06-07 18:58:04 · 33861 阅读 · 6 评论 -
Fatfs文件系统学习
移植过程网上有很多,直接参考就可以了。1、英文长文件名的实现http://blog.csdn.net/lan120576664/article/details/48344311 英文长文件名的实现参考了这个朋友的帖子。 #define _CODE_PAGE 437 选择不同的编码格式 #define _USE_LFN 3 长文件原创 2017-06-02 11:45:03 · 2166 阅读 · 0 评论 -
STM32 定时器学习
一、高级定时器 小容量产品指flash在16K-32K字节之间 中容量产品指flash在64-128K字节之间 高容量产品指flash在56-512K字节之间 互联型产品指F105xx和F107xx系列。 小容量、中容量和互联型的有1个高级定时器TIM1,大容量产品有两个高级定时器TIM1和TIM8。 1、原创 2016-07-04 18:09:39 · 952 阅读 · 0 评论 -
STM32的SPI使用注意
今天写OLED屏SSD1309的驱动,用的是SPI2。屏只接收数据,不给单片机单片机发送数据,所以在硬件上连接的只有CS、SCK、MOSI,没有用到单片机的MISO引脚,片选引脚设置为软件管理模式,SPI的方向设置为双向全双工。对IO的时钟、SPI2等初始化完成后将程序下载到片子上发现屏没有任何反应,如果在调用发送函数之前判断发送的标志,第一次发送可以成功,第二个数据就会死在这里,debug发原创 2017-10-24 15:32:55 · 6855 阅读 · 0 评论 -
STM32 DMA使用
一、串口接收 DMA串口接收使用DMA,如果设置的是单次模式,接收缓冲器的大小至少和接收个数一样大,如果缓冲器小于接收个数,缓冲器的内容有可能被覆盖,如果一次接收到的数据大于设置的接收个数,超过接收个数的数据将会被清零。原创 2017-10-27 10:01:35 · 749 阅读 · 0 评论 -
STM32 ADC学习
一、ADC介绍 1、12位的逐次逼近型的数字转换器,有18个通道,16个外部通道,2个内部通道。转换结果可以左对齐也可以右对齐。 2、AD挂在APB2运行时钟72MHz,但是ADC的时钟最大不超过14MHz,所以需要进行分频。固件库RCC.c中使能ADC时钟后RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);,需要原创 2016-05-13 10:48:14 · 1133 阅读 · 0 评论 -
存储器
一、位带Cortex-M3内核 SRAM区和外设区的最低的1M字节都有位带别名区。用来定义对静态存储区和外设区外设寄存器实现原子操作。#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))#define MEM_ADDR(addr) *((volat原创 2017-11-05 15:05:18 · 331 阅读 · 0 评论 -
emwin 移植调试总结
最近几天移植emWin遇到了各种各样的问题,到现在遇到的问题基本解决完了,做个简单总结,供其他朋友和自己以后移植到其他设备的时候参考用。刚开始我用的片子STM32F03RBT6, Flash 128KB,RAM 20KB,整个工程中移植了SD卡fatfs文件系统、fatfs显示JPEG图片的一个小的固件库、TFT和触摸的驱动、摄像头调了一部分(屏蔽了)、整个程序冗余比较大。 参原创 2016-12-20 20:58:42 · 12638 阅读 · 4 评论 -
emWin显示汉字
调用emwin 显示字符的函数显示汉字的原理和LCD读取SD卡字库显示汉字的原理类似,区别是LCD显示汉字需要自己计算汉字在字库中的偏移量然后从字库文件中读出点阵信息然后自己画点显示。emwin显示 还是需要自己从SD卡读出字库的信息交给emwin去处理点阵信息。 具体的实现过程可以参考整点原子EMWIN的实验21汉字显示(Flash 外置字库)这个例程,需要修改的是GUICha原创 2016-12-17 18:23:42 · 3064 阅读 · 0 评论 -
STM32 使用过程注意事项
一、IO口 1、使用的时候打开时钟,若该IO被当做外设的端口需要使能复用时钟。 2、若该端口被当做外部中断引脚也需要打开复用时钟。二、读操作1、当读寄存器付给某个变量时,注意这个变量的类型,一般为unsigned int 32位的,如果类型不对在移位操作的时候将得不到正确的结果。 2、这个变量可以定义为volatile类型。原创 2016-04-19 19:06:15 · 1834 阅读 · 0 评论 -
UcosII 学习
1、中断 中断中通过OSIntEnter(); OSIntExit();来判断当前有没有中断嵌套,当所有的ISR处理完之后才进行任务的调度。原创 2016-04-23 16:06:10 · 554 阅读 · 0 评论 -
USB 学习
1、包的结构和传输控制:同步域、PID(包的类型)、CRC,EOP(结束包),数据的基本单元是包,包分成域。 PID:令牌包、数据包、握手包(响应) EOP:单向0,数据线的D+、D-,同时保持两个位时间长度的低电平,正常情况D+ 、D-是一个高电平一个低电平,2、USB的四种通信模式:批量、同步、中断、控制传输USB设备枚举过程用的是控制传输模式。3、描述符原创 2016-05-07 16:32:17 · 566 阅读 · 0 评论 -
ucosIII学习
一、简单了解 UCOSIII是一个内核可剥夺的操作系统,保护临界段有两种方法:关闭中断、锁住调度器(只能防止其他任务的方位,但是不能阻止中断访问该程序段的变量)。 进入中断需要调用OSIntEnter()函数使中断嵌套层数变量OSIntNestingCtr加1,退出中断的时候调用OSIntExit()函数使中断嵌套数量变量减1,因为有些函数不能在中断原创 2016-10-22 18:08:06 · 748 阅读 · 0 评论 -
基于STM32的简单电子书的实现
今天玩了会液晶屏,原来显示汉字都是也取模软件区模后在液晶屏上显示,显示内容改变以后还需要重新做字模,比较麻烦。这两天有时间,参考网友资料,实现了读取汉字的内码从SD卡的GB2312点阵字库读取点阵在液晶屏上显示,字库的生成软件用的是易木雨的点阵字库生成器。能生成很多种语言的字库。做完了读取显示后,我自己又琢磨了一下,简单的实现了从SD卡中读取txt文档然后再液晶屏上显示txt内容。原创 2016-12-03 15:27:53 · 6367 阅读 · 0 评论 -
图片的格式与压缩
BMP是一种与硬件无关的图像文件格式,采用位映射的存储格式,除了图像深度可选,不采用其他的任何压缩,因此BMP图片占用的空间很大。BMP图片的图像深度可选1bit、4bit、8bit、16bit、24bit、32bit,BMP文件存储为数据时,图像的扫描方式是按从左到右、从上到下的顺序。 典型BMP文件有三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容原创 2016-12-05 20:33:33 · 1709 阅读 · 0 评论 -
复用功能IO和调试配置(AFIO)
为了优化外设数目,可以把一些复用功能重新映射到其他引脚上。设置复用重映射和调试IO配置寄存器(AFIO_MARR)实现引脚的重新映射,这时复用功能不再映射到它们的原始分配上。 复用和映射是两种不同的功能,复用指同一个引脚当做普通的GPIO或者把这个引脚当做某一个外设使用,复用功能的时候不需要开启复用时钟。 映射,是把一个引脚上是某个外设的功能映射到其他引脚上使原创 2016-12-08 16:24:37 · 2245 阅读 · 0 评论 -
摄像头
一、OmniVision SCCB总线介绍 1.1、简介 Omnivision 公司制定了Serial Camera Control Bus(SCCB)总线协议,SCCB是一个三线的串行总线用来控制OmniVision公司的摄像头,SCCB用2线的串行模式来控制。 SCCB摄像头只能做从,SCCB三线总线上可以挂载多个摄像头,两线的原创 2016-12-08 20:31:14 · 980 阅读 · 0 评论 -
CM3 SVC和PendSV
SVC--系统服务调用,PendSV--可悬起系统调用,多用在系统软件开发中。SVC用于产生系统函数的调用请求,例如操作系统不让用户程序直接访问硬件,而是通过一些系统服务函数,让用户程序使用SVC发出对系统服务函数的呼叫请求,以此来间接访问硬件。NMI服务例程不能使用SVC指令,否则产生硬fault。SVC异常必须得到立即响应,否则将会产生硬fault。PendSV像普通中断一样可以被悬起。悬原创 2017-11-06 09:57:39 · 1240 阅读 · 0 评论