随笔分类 - stm32单片机
摘要:姿态角(Euler角)pitch yaw roll飞行器的姿态角并不是指哪个角度,是三个角度的统称。它们是:俯仰、滚转、偏航。你可以想象是飞机围绕XYZ三个轴分别转动形成的夹角。地面坐标系(earth-surface inertial reference frame)Sg OXgYgZg<ignor
阅读全文
摘要:1.stm32综述2.寄存器组3.操作模式和特权级别4.存储器映射5.中断和异常6.其他 Stm32综述这可以说是我第一款认真学习的单片机了,学完这个就要开启我通往arm9的大门了,接下来把我学到的东西做一个系统的概述: 上图是stm32的系统结构。 使用哈弗体系结构,取指和取数据分离, ICODE指令总线连接到flash闪...
阅读全文
摘要:使用fatfs文件的第一步,就是调用F_mount函数注册一个工作空间。 F_mount函数的原型如下: 第一个参数根据网上大神的答复,是外设类型,如果是sd卡就是0,flash等等其他的外设就是其他得数,据说有定义,不过我没找到。第二个参数FATFS指针就是工作空间的指针,个人感觉有点lwip网卡数据结构的感觉。 FATFS数据结构及解释如下,个人感觉了解FATFS这个工作空间数据结构是什么...
阅读全文
摘要:液晶估计也就只能白话这么一点了。 Fsmc是stm32一种新型的存储器拓展技术,可根据系统的应用需要,方便的进行不同类型大容量静态存储器的拓展。 Fsmc芯片分为如下几个部分: Fsmc能将AHB上的传输信号转换到适当的外部设备协议,从而完成相应的内存映射,fsmc管理的是stm32中60000000h到9fffffffh这1GB的内存,他可以将NOR闪存外设,PSRAM外设,...
阅读全文
摘要:Stm32的看门狗有两个,一个是窗口看门狗,还有一个是独立看门狗。这里说的是独立看门狗: 一共有四个寄存器: KR:只写寄存器,写入0x55555555去除PR和PLR的写保护,写入0xAAAAAAAA喂狗,写入0xCCCCCCCC开启看门狗。 PR:设置分频系数 PLR:计数器从这个寄存器的值递减,如果KR被写0xAAAAAAAA,这个值会被重新传送到计数器。和PR一起决定两...
阅读全文
摘要:做到了让stm32触发svc中断并传递进去参数然后切换到handler模式并修改特殊寄存器的值,从而达到关中断,但是其实这个程序直接就是特权级,故不进入handler模式也可以修改特殊寄存器。。。。。。如下为调用写的开关中断函数: 新建了一个文件asm.c,所有我写的汇编函数都在里面: 前两个是关中断和开中断函数,主要做的事将参数传入R8并触发svc中断。Svc中断中则调用第三个set_i()函...
阅读全文
摘要:首先,先看一下mdk下的混合编程的基本方法: 使用如上方法就可以进行混合编程了。 但是要特殊注意一点,个人感觉这个是直接调用一个代码段,并非一个函数,因为他不会保护调用这个代码段之前的现场。比如: 在调用上面这个代码段之前,先定义一个num变量,供下面使用,如下: 而根据mdk的c语言转化成的汇编,将这个num变量存在R10中 那么进入这个代码段之后,R10的值被修改为4,返回到主函数,num的...
阅读全文
摘要:SPI是器件的比较常用的通信协议。 SPI总共有四根线: SS:片选线,每个设备都和主机MCU有一条单独片选线相连,片选线拉低意味主机输出,也就是说一个主机可以和多个从机相连,只需要有足够多的片选线。 SCK:时钟线,SPI捕获数据是在时钟的跳变沿(可以设置是在奇数沿还是在偶数沿)。 MOSI::输出线 MISO:输入线 SPI有四种模式:这四种模式靠时钟极性(CPOL)和相位...
阅读全文
摘要:SD卡从容量上讲分两种:标准容量和大容量,最小的是标准容量,小于等于2G 其中的访问关系如下: SD卡分为两种模式:认证模式和传输模式,每一个模式包含着不同的状态,如下 以下主要讲其初始化过程: SD卡初始化主要包含5条命令:CMD0,CMD8,ACMD41,CMD2,CMD3,初始化在认证模式下进行,此模式只用到CMDLine。 上电之后,所...
阅读全文
摘要:Stm32内部有多个BKP寄存器,在主电源被切断或者系统产生复位的时候,BKP寄存器仍然可以利用备用电源的支持保持其重要内容。BKP在实际应用中可以存入重要数据,防止被恶意查看。BKP有入侵检测,需要占用1个io口,毕竟有时候销毁重要数据比被别人发现更好。RTC框图如下:灰颜色的地方是待机仍然可以供电。 Stm32中RTC可以设置三种中断:1.闹钟中断:数据达到闹钟寄存器中的值的时候发生中断。...
阅读全文
摘要:Lwip有三套api,分别是: raw api:使用方法为使用回调函数,即先注册一个函数,当接受到数据之后调用这个函数。缺点是对于数据连续处理不好。 Lwip api:把接收与处理放在一个线程里面。因为需要线程的概念,故需要操作系统,当然,ucos虽然只有进程的概念,但是也可以用。 BSD api:与unix兼容,移植容易,效率低。 附完整叙述大图 ...
阅读全文
摘要:Ad-hoc是wifi的一个模式,依托普通无线局域网802.11家族。网络中所有结点的地位平等,无需设置任何的中心控制结点,省去了无线中介设备AP。比如一台电脑建立了一个网络,这个时候加入了两台电脑。第一个电脑这个时候关闭,那么后来的两台电脑仍可以继续通信,不会受到影响。 Ad hoc网络是一个动态的网络。网络结点可以随处移动,也可以随时开机和关机,这些都会使网络的拓扑结构随时发生变化。Ad-h...
阅读全文
摘要:老是弄不明白ADC的输入到底在哪,看了stm32F103Ve的datasheet,将引脚和通道的映射关系贴在下面: 好了,写到这,我已经看了中文手册一上午了,可是啥都没看懂,下午接着看,写代码不重要,理论高于实际。 ADC的四种模式:单次转换模式,连续转换模式,扫描模式,间断模式(间断模式分为规则组和注入组)单次转换模式:ADC只执行一次转换,CONT=0。连续转换模式:ADC转换一结束就启...
阅读全文

浙公网安备 33010602011771号