当前位置: 首页 > news >正文

建站工具 风铃吴博 wordpress

建站工具 风铃,吴博 wordpress,wordpress d压缩,wordpress 判断标签文件目录#xff1a; 一#xff1a;基础知识和理论 1.ARM简介 2.STM32简介 3.STM32命名规范 4.STM32内部功能* 5.STM32接口定义 二#xff1a;开发环境建立 1.开发板简介 2.ISP程序下载 3.最小系统电路 4.KEIL的安装 5.工程简介与调试流程 6.固件库的安装 7.编… 文件目录 一基础知识和理论 1.ARM简介 2.STM32简介 3.STM32命名规范 4.STM32内部功能* 5.STM32接口定义 二开发环境建立 1.开发板简介 2.ISP程序下载 3.最小系统电路 4.KEIL的安装 5.工程简介与调试流程 6.固件库的安装 7.编程语言介绍 8.固件库的使用 9.添加工程文件 三其他 1.变量定义 2.ASCLL码与进制对应表 3.printf中符号的作用 4.常用的转义字符 5.如何输出彩色字符 一基础知识和理论 1.ARM简介 1.什么是ARMARM是英国Acorn有限公司设计的低功耗成本的第一款“RISC微处理器”ARM处理器本身是32位设计但也配备16位指令集一般来讲比等价32位代码节省达35%却能保留32位系统的所有优势2.ARM公司介绍ARM公司是一家英国半导体设计公司成立于1990年总部位于剑桥ARM公司的全称是Advanced RISC Machines Ltd中文翻译为安谋公司ARM公司的主要业务是设计和授权处理器核心IPIntellectual Property知识产权3.ARM内核发展历史如下ARMv0基本版本包含ARM程序和Thumb程序ARMv1支持16位指令和32位指令ARMv2支持Thumb指令。ARMv3包含ARMv3-T和ARMv3-R是最早的32位处理器ARMv4包含ARMv4T和ARMv4增加了Java指令ARMv5包含ARMv5T和ARMv5增加了媒体指令ARMv6增加了安全指令和本地中断向量ARMv7分为ARMv7-A、ARMv7-R和ARMv7-M增加了向量化指令ARMv8引入64位指令集ARMv9预计将引入矢量扩展指令Cortex是ARM公司开发的最新一代处理器包括Cortex-A、Cortex-R和Cortex-M等系列具有更高的性能、更低的功耗和更多的功能 2.STM32简介 1.什么是STM32STM32是意法半导体ST公司基于ARM公司的Cortex-M3内核生产的32位单片机。市场上常见的ARM芯片有STM32系列M系列如M0、M3、M4等A系列如A5、A7等R系列如R5、R7等ARM Cortex-A如Cortex-A53、Cortex-A72等2.Cortex内核系列说明Cortex内核系列是ARM公司开发的最新一代处理器包括Cortex-A、Cortex-R和Cortex-M等系列具有更高的性能、更低的功耗和更多的功能Cortex-A系列是针对高级应用领域的处理器具有更高的性能和功能Cortex-R系列是针对实时应用领域的处理器具有快速响应和实时性Cortex-M系列是针对微控制器和低成本应用领域的处理器具有低功耗、小尺寸和简单编程等特点在Cortex内核系列中不同的处理器系列所采用的技术和功能也不相同可以根据不同的应用领域和需求选择合适的处理器系列3.市场上常见的ARM芯片M系列:M0、M3、M4等此外还有ARM7TDMI、StrongARM ARM720T、ARM9TDMI、ARM922T、ARM940T、RM946T、ARM966T、ARM10TDM1等4.了解ST公司ST公司全称意法半导体集团是全球最大的半导体公司之一于1987年由意大利的SGS微电子公司和法国Thomson半导体公司合并而成1998年5月公司名称改为意法半导体有限公司意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商世界第一大工业半导体和机顶盒芯片供应商在分立器件、手机相机模块和车用集成电路领域居世界前列5.STM32系列之间的关系STM32系列是基于ARM Cortex-M内核的32位微控制器系列:STM32F1、STM32F4、STM32L1等内核:M0、M3、M4等 每个内核又分为主流、高性能和低功耗等不同类型STM32F1系列属于Cortex-M3内核采用ARMv7-M架构STM32F4系列属于Cortex-M4内核采用ARMv7-ME架构STM32L系列属于Cortex-M0内核 3.STM32命名规范 以STM32F103C8T6芯片为例分析名称各字段的含义 STM32F103C8T6芯片的名称各字段含义如下ST芯片制造商名称表示该芯片由意法半导体公司生产STM32芯片系列名称表示该芯片属于STM32系列F芯片子系列名称表示该芯片属于STM32F系列103芯片型号表示该芯片是STM32F103系列的一种具体型号C芯片封装类型表示该芯片采用COB-44封装8芯片引脚数量表示该芯片有8个引脚T芯片温度范围表示该芯片的工作温度范围为-40℃到85℃6芯片的批次号表示该芯片是第六批生产的产品通过分析芯片的名称字段了解芯片制造商、系列、子系列、型号、封装类型、引脚数量、工作温度范围、批次号等信息 4.STM32内部功能* 以下是STM32内部功能的基础知识介绍  1.ARM核心STM32采用Cortex-M内核属于32位处理器具有高性能和低功耗的特点2.内存STM32内部包含FLASH和SRAMFLASH用于存储程序和数据保存下载的用户程序、保存运行当中的临时数据SRAM 用于临时存储数据3.存储器存储程序和数据、存储芯片参数RAMRandom Access Memory随机存储器分为静态RAMSRAM和动态RAMDRAM两种SRAM常被用作CPU的一级缓存和二级缓存价格昂贵DRAM保留数据时间很短速度比SRAM慢但是要比ROM快ROMRead Only Memory只读存储器掉电不丢失数据。STM32的ROM大小根据型号不同而有所差异FLASH ROMFlash Read Only Memory闪存只读存储器有主存储块和信息块组成FLASH主存储区从0x0800 0000地址开始不同系列器件有不同大小这里存放为用户烧入的代码、常量和已经初始化的全局变量的值EEPROMElectrically Erasable Programmable Read Only Memory带电可擦可编程只读存储器可以通过电子擦除但是写入时间很慢4.时钟STM32内部包含时钟源可以为系统提供准确的计时基准时钟信号实时时钟RTC是STM32内部的一个功能用于提供实时时间信息通常使用精度较高的晶体振荡器作为时钟源为系统提供精确的时间基准高速外部时钟HSE由外接高频晶振产生一般采用8MHz的晶振为STM32的CPU和其他内部外设提供时钟信号是系统时钟的基础HSE的精度较高可以保证系统的实时性和稳定性低速内部时钟LSE由内部低频RC电路产生的通常使用32.768KHz的频率用于驱动实时时钟提供时钟信号精度更高因为它使用内部RC电路产生时钟信号而HSE的精度可能会受到外部环境的影响5.复位和电源STM32具有上电复位和掉电复位功能是由芯片内部的VDD和VSS引脚完成的同时内部集成电源管理单元可对电源进行控制和管理上电复位当VDD引脚检测到电压上升到1.8V时芯片会从待机状态恢复到正常工作状态的过程掉电复位当VDD引脚检测到电压下降到1.8V时芯片会从正常工作状态进入待机状态的过程掉电复位后需要重新对芯片进行初始化才能重新开始工作6.电压监控STM32具有电压监控功能可对系统电压进行监测和保护确保系统稳定运行7.低功耗STM32具有多种低功耗模式如睡眠、停止和待机模式可大大降低系统功耗睡眠模式Cortex-M3内核停止工作但是CPU供电1.8V不持续而是进入低功耗模式此时只有RTC和其他低功耗外设保持供电停止模式全部时钟都停止CPU电源1.8V没断。唤醒后从原来位置运行待机模式时钟全断CPU电源1.8V也断唤醒后程序又一次运行8.ADCSTM32内部集成多达16个通道的12位ADC可用于模拟信号的采集和转换9.DMA一种高效的数据传输方式通过DMA控制器将需要传输的数据从内存直接传输到设备或从设备传输到内存而不需要经过中央处理单元CPU的干预可以大大提高数据传输的效率特别适用于需要大量数据传输的场景如磁盘驱动器、网络接口卡等单通道DMA只有一个DMA控制器只能进行单方向的数据传输多通道DMA则有多个DMA控制器可以同时进行多个方向的数据传输10.IO端口是计算机系统中的一种硬件资源用于连接外部设备和主机之间的数据传输IO端口通常是一组特定的地址的寄存器可以被CPU直接访问和操作每个IO端口都有唯一的地址通过地址可以访问对应的寄存器进行数据读写操作统一编址是将IO端口当做存储器的单元进行地址分配用统一的访存指令就可以访问IO端口又称存储器映射方式独立编址是IO端口有自己独立的地址空间需要使用专门的IO指令进行访问11.IO接口STM32具有多种IO接口如GPIO、SPI、USART等可连接各种外设进行数据通信GPIO接口General Purpose Input/Output是一种通用输入/输出接口可以用于连接外部设备和芯片之间的数据传输GPIO接口通常由一组引脚组成每个引脚都可以被配置为输入或输出模式用于传输数字信号SPI接口Serial PeripheralInterface是一种同步串行通信接口常用于连接微控制器和外部设备之间的通信SPI接口有主从模式主模式和从模式设备分别负责数据传输的起始和结束USART接口UniversalAsynchronousReceiverTransmitter是一种串行通信接口,常用于微控制器和其他设备之间的通信USART通用同步/异步收发器带同步时钟线UART : 通用异步收发器没有同步时钟线IO口选择工作方式种类GPIO_Mode_AIN 模拟输入该模式就是可以直接把需要采取的模拟量直接接入STM32的IO口内置了ADC转换器GPIO_Mode_IN_FLOATING 浮空输入用处就是提高输入速度但是需要用“线与”现象来正确的使用该工作方式在此不解释“线与”可以百度或Google一下自行解决GPIO_Mode_IPD 下拉输入可以直接接按钮的一端按钮另一端需要外接一个电源此时需要考虑该IO口的耐压值有些IO口并不能承受5v的电压STM32默认为3.3V电压GPIO_Mode_IPU 上拉输入可以直接接按钮的一端按钮另一端直接接地即可12.中断STM32支持多种中断模式包括外部中断、定时器中断、ADC中断等可实现快速响应和处理外部中断是指由外部设备或外部信号触发的中断当外部设备或信号触发中断时系统会暂停当前任务的执行并跳转到中断处理程序中处理中断事件例如按键、传感器等定时器中断是指由定时器产生的中断定时器是一种计数器可以根据设定的时间间隔或者到达的计数值产生中断定时器中断通常用于实现系统的定时功能例如定时采样、定时唤醒等ADC中断是指由模数转换器ADC触发的事件ADC可以将模拟信号转换为数字信号当ADC完成一次转换后可以产生一个中断信号 通知系统来读取转换结果。ADC中断通常用于实现模拟信号的采样和数字信号的处理13.调试模式STM32支持多种调试模式如JTAG、SWD等可方便地进行调试和开发JTAG调试模式是一种基于边界扫描的调试模式主要用于芯片内部测试它通过连接芯片的JTAG引脚实现芯片的在线编程和调试JTAG调试模式需要硬件支持比如边界扫描芯片和JTAG接口SWD调试模式是一种串行调试模式用于访问ARM芯片的调试接口它通过连接芯片的SWD引脚实现芯片的在线编程和调试SWD调试模式比JTAG调试模式更加灵活可以在有限的的空间内实现更高效的调试 SWD调试模式需要硬件支持比如主从调试器和SWD接口14.定时器看门狗STM32内部集成多个定时器和看门狗可实现定时任务和系统复位滴答定时器常用于延时或实时系统的心跳时钟它通常是一个24位的倒计数定时器从预装载值到0计数器的值会自动装载到重装载寄存器中只要不将其使能位清除它就会永远不停即使在芯片在睡眠模式下也能工作15.通信接口STM32具有多种通信接口如UART、SPI、I2C、USB、CNA等可实现与其他外设或主机的通信UART通信接口是一种异步通信接口通常用于在不同的设备之间进行串行通信SPI通信接口是一种同步通信接口通常用于与外部传感器、存储器等设备进行高速数据传输I2C通信接口是一种同步串行通信接口通常用于与外部传感器、存储器等设备进行数据传输USB通信接口是一种通用串行总线接口通常用于与计算机或其他设备进行高速数据传输CAN通信接口通信接口是一种串行通信协议常用于嵌入式系统中的实时通信16.CRC校验循环冗余校验码根据固定的生成多项式计算出任32位全字的CRC计算结果用于核实数据传输或数据存储的正确性和完整性17.芯片ID内部拥有一个独一无二的这个ID号可以提供给开发者很多优越的功能把ID做为用户最终产品的序列号需要保证安全性的功能代码运行前通过校验此ID保证最终产品某些功能的安全性用ID配合加解密算法对芯片内部的代码进行加加密以保证用户产品的安全性和不可复制性18.GPIO:输入输出接口GPIO 分组PA0-15 、PB0-15 、PC0-15 、PD0-15 、PE0-15GPIO_Mode_AIN模拟输入GPIO_Mode_IN_FLOATING浮空输入GPIO_Mode_IPD下拉输入GPIOMode_IPu上拉输入GPIO_Mode _out_PP推挽输出GPIO_Mode_out_oD开漏输出GPIO_Mode_AF_PP复用推挽输出GPIO_Mode_AF_oD复用开漏输出5.STM32接口定义 介绍STM32F103C8T6芯片的接口定义各功能对应在接口上的关系: GPIO接口STM32F103C8T6芯片具有多达8个的GPIO接口可控制数字信号的DAC接口STM32F103C8T6芯片具有1个12位DAC接口可用于输出模拟信号I2C接口STM32F103C8T6芯片具有多达2个I2C接口可与外部设备进行串行数据通信TIM接口STM32F103C8T6芯片具有多达4个TIM接口可用于定时器、计数器和PWM等应用DCMI接口STM32F103C8T6芯片具有DCMI接口可用于图像数据的采集和编码 二开发环境建立 1.开发板简介 1.结构中央处理器CPU开发板的核心部件负责指令执行和计算存储器包括内存RAM和存储器ROM用于存储程序和数据输入输出接口用于连接外部设备和开发板进行数据通信电源模块用于提供开发板所需的电源特殊功能接口如JTAG接口、串口等用于调试和开发2.功能开发板与外部设备的通信通过输入输出接口与外部设备进行数据通信程序下载与调试通过特殊功能接口将程序下载到开发板中进行调试和开发电源管理开发板可以管理电源为不同设备提供适当的电源嵌入式系统开发开发板可以作为嵌入式系统的开发平台进行系统开发和应用程序开发3.给开发板上电基本使用如下a 连接开发板与电源适配器确保正负极正确b 连接开发板与显示器、键盘、鼠标等外部设备c 打开电源开关开发板启动d 根据需要进入开发环境如Linux或Android等操作系统e 进行开发或使用如编写代码、编译、下载程序、运行应用程序等 2.ISP程序下载 写好的程序通过串口从电脑端写入到单片机当中的过程 1.插入udb接口2.安装usb驱动程序电脑——设置——设备——设备管理器——端口——usb serial port没有就需要手动安装(右键——更新——添加)或者对应驱动——右键——管理运行安装或驱动精灵安装3.ISP下载器FlyMCU4.开始使用4.1 FlyMCU中点击——搜索串口——搜索到点击确定4.2 联机下载时的程序文件——选择写.hex文件——勾选编程前重装文件4.2 STMISP——勾选 校验 编程后执行选项字节区——打勾设定选项字节等——STM32F1选项设置——设置FF阻止读出——采用这个设置4.3 点击开始编程如果下载慢电脑——设置——设备——设备管理器——端口——usb serial port——右键——属性 Port Settings——Advanced——BM Options——Latency TImer——设置成1——OK 3.最小系统电路 用最少的电路组成可以实现单片机工作的系统。通常最小系统包含以下几个组成部分需要外接电路电源电路为整个系统提供电能时钟电路为单片机提供时钟信号推动处理器执行指令复位电路当系统出现程序跑飞等情况时可以通过复位电路进行复位重新执行程序不需要外接电路内核存储器 启动模式选择引脚  FLASH ISP是从FLASH中启动运行用户程序正常启动 BootLoader是ST公司制作了一段用于ISP下载的程序用户不可修改 RAM ISP是从SRAM中启动主要用于调试阶段的下载。下载速度快但断电丢失   4.KEIL的安装 软件下载安装 工程结构CMSIS——内核驱动程序: 包含c⽂件ST公司官⽅提供的对arm内核和mcu系统的基础⽂件【⼀般不做修改】LIB——内部功能的基本函数库: 包含c⽂件st公司提供需要根据⽤户的【需求对其进⾏增减】STARTUP——单⽚机启动程序: 包含asm⽂件st公司提供负责启动【⼀般不做修改】USER——⽤户程序包括主函数: 包括main.c⽂件和stm32f10x_it.c⽂件。前者为⽤户程序【需要⽤户进⾏修改】后者【不要修改】BASIC——内部功能的驱动函数: 包括dealy.c和sys.c。前者为【⽤户编写的延时程序】后者为st公司提供【不作修改】HARDWARE——外部硬件的驱动程序: 包括led.c和key.c两个⽂件驱动如ledoled、继电器、微动开关之类。【均为⽤户⾃⼰编写】需根据需求修改 5.工程简介与调试流程 工程简介STM32工程包括多个模块包括CMSIS、Lib、Startup、User等模块CMSIS模块提供内核驱动程序Lib模块提供内部功能的基本函数库Startup模块提供单片机启动程序User模块提供用户程序包括主函数Basic模块内部功能的驱动程序Hardware模块外部硬件的驱动程序调试流程首先进行程序编译输出hex文件然后使用调试工具如FlyMcu选中hex文件进行编译并设置核心板为FLASH ISP模式接下来可以使用build命令编译修改后的程序rebuild命令重新编译程序 6.固件库的安装 keil固件库的安装 库函数的配置 7.编程语言介绍 C语言和汇编语言都是人类易学易懂的语言通过编译器keil这样的软件将代码转换为HEX或Bin文件即单片机认识的语言可直接在FLASH里读取运行的机械语言 8.固件库的使用 参考固件库用户手册  包括程序的编写、编译、调试和下载等一般来说使用固件库进行开发的过程如下1.选取合适的固件库并下载安装2.在开发环境中添加固件库的头文件和库文件路径3.在程序中引入所需的头文件4.使用固件库提供的函数来实现所需功能5.进行编译、调试和下载等操作确保程序能够正常运行6.在编写程序时要按照固件库的要求进行参数传递和数据类型定义7.在程序中应该进行错误处理避免出现异常情况8.在使用固件库时要注意其性能和资源占用情况避免出现资源冲突或性能问题 9.添加工程文件 第一步文件夹下面新建第二步品字型图标Groups下新建添加第三步魔法棒下面lnclude Paths新建添加路径第四步宏定义 在xxxx.c文件里面添加#include xxxx.h作用是关联两个文件第五步点击rebuild开始编译 三其他 1.变量定义 u32 a; //定义32位无符号变量a u16 a; //定义16位无符号变量a u8 a; //定义8位无符号变量a vu32 a; //定义易变的32位无符号变量a vu16 a; //定义易变的16位无符号变量a vu8 a; //定义易变的8位无符号变量a uc32 a; //定义只读的32位无符号变量a uc16 a; //定义只读的16位无符号变量a uc8 a; //定义只读的8位无符号变量a2.ASCLL码与进制对应表 3.printf中符号的作用 %d 十进制有符号整数%u 十进制无符号整数号%f 浮点数%s 字符串%c 单个字符%p 指针的值%e 指数形式的浮点数%x%X 无符号以十六进制表示的整数%o 无符号以八进制表示的整数%g 自动选择合适的表示法%p 输出地址符4.常用的转义字符 5.如何输出彩色字符 printf(\O33[1;40;32m good!!! \033[Om Hello,NSFocus \n);\033 转义序列的开始[ 开始定义颜色1 定义了高亮显示字符40 背景颜色表示黑色背景32 前景颜色表示绿色\o33[0m 关闭转义序列是终端默认颜色m : 表示结束前景 背景 颜色 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色代码 意义0 终端默认设置黑底白字)1 高亮显示4 使用下划线5 闪烁7 反白显示8 不可见
http://www.dnsts.com.cn/news/38496.html

相关文章:

  • 做基金哪个网站好微网站背景图片
  • 自己的网站怎么创建有模板怎么做网站
  • 江苏城乡建设职业学院网站网站建设好的乡镇
  • 有哪些网站做的比较好看的网站建设业务开展方案
  • 网站建设与准备django 和 wordpress
  • 国外科技感强的网站wordpress 主题导出
  • wordpress修改器seo建网站
  • 网站建设先做后网站建设要多久豆瓣
  • 一站式企业服务wordpress密码错误
  • 哪里有个人卖房网站防网站模板
  • 烟台网站制作企业什么软件可以做动漫视频网站
  • 陵水网站建设费用wordpress主题页面丢失
  • 定制网站开发系统桂林象鼻山在哪
  • 网站页眉设计wordpress php7.2
  • 模板网站判定3d打印 东莞网站建设
  • 南昌品牌网站建设新冠北京最新消息
  • 公司做网站自己可以做类似wordpress
  • 网站婚庆模板免费制作永久个人网站
  • 怎样下载建设部网站商城网站后台模板
  • 浙江网站建设与维护书版面设计网站
  • 合肥市重点工程建设管理局网站长春哪家网站做的好
  • 网站品牌建设建议学做网站后台开发
  • 哪些网站可以做代理做网站诱导网站
  • 商丘网站制作推广网络营销推广的步骤是什么
  • 烟台快速建站有哪些公司江门市住房城乡建设局网站
  • 重庆开网站韩国的小游戏网站
  • 上海网站建设升级5g空间大吗企业网站
  • 海盐网站设计常熟建设网站
  • 做外贸哪个网站最容易上手网站开发嘉比格网络
  • 做网站优化的弊端动图制作网站