文档库 最新最全的文档下载
当前位置:文档库 › Flash Loader ISP串口下载STM32

Flash Loader ISP串口下载STM32

Flash Loader ISP串口下载STM32
Flash Loader ISP串口下载STM32

? ?

s 3 ?? ?W ? & ? ?′? -

s 3 ?

W )

??( ??( γ "pC W

??( ??( γ ′ ppC W

-? ? ??) ? +?? ) ? ? ? ?

? ?? ? %W-

( ?? ?? < ? " ? ?). 3 ?§ J ?? ??? ? ???I$ 8 ?? ? )-? ? ? )) ?

奋斗STM32开发板Tiny NRF24L01转USB虚拟串口例程手册

奋斗版 STM32 开发板例程手册———NRF24L01+转 USB 虚拟串口实验
https://www.wendangku.net/doc/e716288703.html,
NRF24L01+转 USB 虚拟串口实验
实验平台:奋斗版STM32开发板Tiny 实验内容:板子通过USB加电后,先向串口1输出一串测试数据,然后USB被PC识 别出来,虚拟出一个串口号给这个USB设备,此时可以通过在PC端的串口助手类 软件选择该串口号。进入串口软件界面,可以通过软件无线收发一帧长度最长 为32字节的数据。该例程可以和V3及MINI板的NRF24L01 UCGUI例程配合使用。
预先需要掌握的知识 2.4G通信模块NRF24L01 1. 产品特性
2.4GHz 全球开放ISM 频段,最大0dBm 发射功率,免许可证使用 支持六路通道的数据接收 低工作电压:1.9 1.9~3.6V 低电压工作 高速率:2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设置1Mbps或者2Mbps的空中传输速率) 多频点:125 频点,满足多点通信和跳频通信需要 超小型:内置2.4GHz天线,体积小巧,15x29mm(包括天线) 低功耗:当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了电流消耗。 低应用成本:NRF24L01 集成了所有与RF协议相关的高速信号处理部分,比如:自动重发丢失数据包和自动产生应答信号等, NRF24L01的SPI接口可以利用单片机的硬件SPI口连接或用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口, 便于使用低成本单片机。 便于开发:由于链路层完全集成在模块上,非常便于开发。 自动重发功能,自动检测和重发丢失的数据包,重发时间及重发次数可软件控制 自动存储未收到应答信号的数据包 自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程 载波检测—固定频率检测 内置硬件CRC 检错和点对多点通信地址控制 数据包传输错误计数器及载波检测功能可用于跳频设置 可同时设置六路接收通道地址,可有选择性的打开接收通道 标准插针Dip2.54MM 间距接口,便于嵌入式应用
2.基本电气特性
淘宝店铺:https://www.wendangku.net/doc/e716288703.html,
1

STM32利用虚拟串口调试

STM32串口利用虚拟串口调试 解决*** error 30: undefined name of virtual register 问题 以下摘录于网络。 1. 利用VSPD将PC上的两个虚拟串口连接起来。如图我将COM2 和COM3连接起来。点击Addr pair。 2. 可以看到Virtual ports上将两个虚拟串口连接到了一起了。 3.虚拟串口准备就绪了。先将直接输入命令的方式来调试。我们打开KEIL MDK的,设置成仿真的模式。点DEBUG.在COMMAND串口输入: MODE COM2 38400, 0, 8, 1

说明: MODE命令的作用是设置被绑定计算机串口的参数。基本使用方式为:

MODE COMx baudrate, parity, databits, stopbits 其中: COMx(x = 1,2,…)代表计算机的串口号; baudrate代表串口的波特率;parity代表校验方式; databits代表数据位长度; stopbits代表停止位长度。 例如:MODE COM1 9600, n, 8, 1 设置串口1。波特率为9 600,无校验位,8位数据,1位停止位。 MODE COM2 19200, 1, 8, 1 设置串口2。波特率为19 200,奇校验,8位数据,1位停止位。 4、点回车后,再输入ASSIGN COM2 S1OUT 说明: COMx代表计算机的串口,可以是COM1、COM2、COM3或其他; inreg和outreg代表单片机的串口。对于只有一个串口的普通单片机,即SIN和SOUT;对于有两个或者多个串口的单片机,即SnIN和SnOUT(n=0,1,…即单片机的串口号)。 例如:ASSIGN COM1 < SIN > SOUT 将计算机的串口1绑定到单片机的串口(针对只有一个串口的单片机)。 ASSIGN COM2 < SIN > SOUT 将计算机的串口2绑定到单片机的串口0(针对有多个串口的单片机,注意串口号的位置)。 需要注意的是,参数的括号是不能省略的,而outreg则是没有括号的。

用stm32库函数编写的modbus源代码

用stm32库函数编写的modbus源代码 说在前面的话: 1.请勿盲目抄袭。这个协议使用了一个定时器,所以在别处请不要再使用,如果定时器不够用,可以做虚拟定时器。也就是采用一个物理的定时器产生时基。在这个定时器的中断函数中可以给相应的多个定时器自加1.每个虚拟定时器可以用两个变量分别控制打开关闭,和计时。这个已经试验通过了可行的。其实就跟我们使用物理的定时器一样,只不过物理的定时器是用晶振产生时基。 2.这段代码已经调试通过了,也硬件试验过,没有问题,如果你出现问题了,看看你在主函数的的各种基本配置有没有完成。如果要使用06和10号功能,你还需要在主函数中建立一个100个元素的数组,每个元素是16位。 3.写这个文档的时候,这个协议已经是半年前完成的了。所以有些东西记得不是很清楚了,如果说错了,请以实际为准。只是不想让这份代码死在电脑中了,所以才想起来要拿出来分享,支持开源精神。 4.如果实在实在是没有弄出来,请联系我,可以共同交流,我的邮箱:xiaozuoadamszju@https://www.wendangku.net/doc/e716288703.html,

#include"stm32f10x.h" /* 此Modbus协议暂时只支持RTU模式,只支持作为Modbus从设备。 暂时支持的功能码(16进制)如下表所示: 01.读线圈状态(读多个输出位的状态,有效地位为0-31) 02.读输入位状态(读多个输入位的状态,有效地位为0-31) 03.读保持寄存器(读多个保持寄存器的数值,有效地位为0-99) 04.读输入寄存器(读多个输入寄存器的数值,有效地址为0-1) 05.强制单个线圈(强制单个输出位的状态,有效地位为0-31) 06.预制单个寄存器(设定一个寄存器的数值,有效地址为0-99) 0F.强制多个线圈(强制多个输出位的状态,有效地址为0-31) 10.预制多个寄存器(设定多个寄存器的数值,有效地址为0-99) 暂时支持的错误代码为: 01 不合法功能代码从机接收的是一种不能执行功能代码。发出查询命令后,

【设计教程大集合】STM32F3XX大全

STM32F3系列是意法半导体ARM? Cortex?-M4微控制器产品组合的入门级产品。经过市场检验的M4处理器内核可支持DSP指令,内置浮点单元(FPU),运行频率高达72MHz,若再搭配意法半导体独有的且基于内核耦合存储器(CCM-SRAM) 的程序加速(Routine Booster) 功能,其电机控制等例行程序的执行速度可比原来提升43%。STM32F3系列属于共有600余款产品的STM32产品家族,性能表现比STM32F1 Cortex-M3系列更加出色。STM32系列产品的软硬件具有广泛的共性,并提供简单易用的设计工具和开发生态系统。 基本资料 【产品新闻】意法半导体(ST)推出闪存容量高达512KB的STM32F3微控制器,大幅提升系统集成度 【数据手册】STM32F358xC、STM32F378xx、STM32F318、STM32F302、STM32F303等ARM Cortex-M4 32位内核 【硬件资源】STM32F3系列固件、软件、工具资源 【视频】意法半导体STM32F3系列探索套件(discovery kit)介绍 进阶设计 目前意法半导体针对智慧型手机Sensor Hub提供采用Cortex-M0核心开发的STM32F072、采用Cortex-M4核心开发的STM32F301和STM32F401,以及采用Cortex-M4核心开发的STM32F429,其中三星(Samsung)智慧型手机Note 3的Sensor Hub中,即搭载该公司STM32F401。 【STM32F303开发】+视觉姿态识别 对一个目标进行姿态识别,以简单的三角形为例,目标放置在一个旋转平台上,初始姿态位置,通过图像识别姿态,并将姿态数据传送给nucleo,nucleo驱动舵机进行角度调整。

Android设备与STM32单片机通信方式探讨

Android设备与STM32单片机通信方式探讨 摘要:随着科学技术的进步与人们生活水平的提升,Android设备也以其成本低廉、开发难度小、开放性强等优势,成为人们手中主要的网络设备。而Android平板电脑是当前非常流行的一种移动终端,本文便以Android平板电脑为例,研究Android设备与STM32单片机之间的音频通信、串口通信以及Bluetooth通信三种通信方式。 关键词:Android设备STM32单片机通信方式 中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2016)01-0000-00 所谓STM32,指的是以ARMCortex-M3为基础的STMicroelectronics嵌入式32为微处理器,具有成本低、性能高、能耗少等优势。从性能的角度出发,微处理器可以分为基本型、互联型以及增强型几个种类,以适用于产品的不同性能要求。而Android则是一种以Linux为基础的操作系统,普遍适用于智能终端设备,如平板电脑、智能手机等,越来越受到市场的广泛认同。 1 音频通信 耳机孔是Android设备中必不可少的,用于输入与输出麦克和耳机中的音频信号,耳机引脚的构成如图1所示:

图1 耳机引脚的构成 根据图1所示,可以运用两个声道中的任意一个,作为Android设备向STM32单片机进行信号传输的通信线,而MIC 麦克则可以作为STM32单片机向Android设备进行信号传输的通信线[1]。由于音频信号是一种模拟信号,因此,需要调制传输过程中的数字信号,现阶段常用的调制方法有AM、FM以及PM,其中,AM虽然相对简单,但在抗干扰能力方面相对较差,所以,当前普遍运用的方法是FM与PM。应用相关广泛的音频调制方式为DTMF,市场上有很多与之相对应的编解码芯片,这些芯片能够在很大程度上简化对STM32单片机的开发环节。 在音频通信的过程中,其运作难点主要集中在调制与解调方面,STM32单片机可以运用当前相对成熟的芯片来完成对硬件的调制与解调工作,但是,Android设备在这方面却需要自行完成[2]。另外,一般情况下,20kHz是音频信号传输过程中的普遍上限,所以,运用音频进行通信的速率也相对较低,这种方式只适用于手持式刷卡机。 2串口通信 在嵌入式系统中,串口通信是最常见的通信方式,运用这种方式进行通信,STM32单片机的开发难度相对较小,其引脚、波特率、中断函数等参数都可以进行有针对性的设置,操作简单方便。

STM32 虚拟串口win7(64位)或XP驱动

;------------------------------------------------------------------------------ ; STMicroelectronics Comunication Device Class driver (CDC) INF FILE ; (C)2009 Copyright STMicroelectronics ;------------------------------------------------------------------------------ [Version] Signature="$Windows NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%MANUFACTURER% LayoutFile=layout.inf ;CatalogFile=%FILENAME%.cat DriverVer= 9/20/2009,1.2.0 [Manufacturer] %MANUFACTURER%=DeviceList,NTamd64 [DestinationDirs] DefaultDestDir=12 ;------------------------------------------------------------------------------ ; Windows 2000/XP/Vista32 Support ;------------------------------------------------------------------------------ [DriverInstall.nt] include=mdmcpq.inf CopyFiles=DriverCopyFiles.nt AddReg=DriverInstall.nt.AddReg [DriverCopyFiles.nt] usbser.sys,,,0x20 [DriverInstall.nt.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,%DRIVERFILENAME%.sys HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" [DriverInstall.nt.Services] AddService=usbser, 0x00000002, DriverService.nt [DriverService.nt] DisplayName=%SERVICE%

STM32F103ZE手册

EM-STM3210E评估板用户手册 V1.0 深圳市英蓓特信息技术有限公司 Embest info & Tech Co., Ltd. 地址:深圳市罗湖区太宁路85号罗湖科技大厦509室(518020) Telephone: 86-755-25532557 25638952 25535753 25505451 Fax: 86-755-25616057 E-mail: sales@https://www.wendangku.net/doc/e716288703.html, support.realview@https://www.wendangku.net/doc/e716288703.html, Website: https://www.wendangku.net/doc/e716288703.html, https://www.wendangku.net/doc/e716288703.html,

第一章概述 EM-STM3210E是英蓓特公司新推出的一款基于ST意法半导体STM32系列处理器(Cortex-M3内核)的全功能评估板。功能接口丰富,是一个用于应用开发很好的平台,也是学习者的首选。配合本公司的调试工具ULINK2一起使用,更是为大家提供了一个良好的开发环境,从而为自己的应用开发节省了时间,提高的效率。 EM-STM3210E评估板主要性能: ◆处理器:STM32F103ZE,主频:72MHz ◆2MB NOR FLASH ◆128KB SRAM ◆128MB NAND FLASH ◆8M byte SPI Flash ◆RTC( 带后备电池) ◆启动跳线设置 ◆两路可选电源:5VDC供电,USB供电 ◆一个SD存储卡接口 ◆TFT- LCD屏接口 ◆一个温度传感器 ◆一路DAC音频输出 ◆20Pin JTAG调试接口 ◆2个三线RS232串行口 ◆一个USB Device接口 ◆一个具有控制四个方向和确定功能的摇杆手柄 ◆四个功能按键:Reset,Wakeup,Temper和User按键 ◆四个Led灯 ◆四位八段数码管输出 ◆一个CAN总线接口,通过DB9接口引出 ◆一路AD输入 ◆四个26Pin用户扩展接口

stm32103与window虚拟串口

现在很多电脑已经不带232了,特别是手提电脑。这使很多使用手提在外调试人员非常不方便。或许你可以买一条市面上usb转232转换线,但这些线抗干扰不是太好,在一些干扰大的地方会发生连接中断的问题,所以往往要加光耦隔离器。在一些高端的单片机一般带USB接口,如果可以使用这些接口做一个USB的虚拟com口将会非常实用,但是使用USB一般要编写上位机驱程。没有windows驱程编写基础的朋友一般很为难。其实微软的CDC类中含有这一类USB转com的类,Windows也自带这方面的驱程。就像市面上的usb鼠标,u盘一样,windows里面已经有了他们的驱动函数库,只要我们按照windows的CDC描述来配置USB就可以了。 关于CDC的类描述类容请参考Universal Serial Bus Class Definitions for Communication Devices 的PDF文件。它是下面所有内容的纲领。 下面讲解下制作步骤: 1:把对应的描述符发送出去:下面是发送内容 const USB_DEVICE_DESCRIPTOR DeviceDescr = { // device descriptor 0x12, DESC_DEVICE, LE_WORD(0x0101), // bcdUSB 0x02, // bDeviceClass 0x00, // bDeviceSubClass 0x00, // bDeviceProtocol MAX_PACKET_SIZE0, // bMaxPacketSize //设备ID LE_WORD(0xFFFF), // idVendor LE_WORD(0x0005), // idProduct LE_WORD(0x0100), // bcdDevice /* 不要使用原来的ID 0x71,0x04, // PHILIPS公司的设备ID Vendor ID = PHILIPS Semiconductor,Inc. 0x78,0x23, // 设备制造商定的产品ID Product ID 0x00,0x01, // 设备系列号Device release number in binary-coded decimal */ 0x01, // iManufacturer 0x02, // iProduct 0x03, // iSerialNumber

STM32的USB虚拟串口设计

毕业设计 [论文] 题目:基于STM32的USB虚拟串口 学院: 专业: 姓名: 学号: 指导老师: 完成时间:2014年5月19日

摘要 USB接口由于支持热插拔和标准统一等特点得到了广泛应用,越来越多的电脑设备开始采用USB接口进行数据的传输,而如何在不改变现有应用软件的情况下,将设备移植到USB接口成为人们研究的热门。 论文以USB通信设备类中的抽象控制模型为基础,研究了通信设备类及实现虚拟设备的原理,设计并实现了基于通信设备类的虚拟串口驱动程序。 论文研究设计了基于通信设备类的虚拟串口驱动程序的结构和实现方案,程序主要由通信命令转换和数据传输两部分构成,通信命令转换符合通信设备类中抽象控制模型的规范,数据传输部分对现有虚拟串口的实现技术进行了改进。论文的主要工作如下: 1)研究了USB协议的请求和传输模式,分析了通信设备类实现虚拟设备的方案。 2)给出了一种符合通信设备类中抽象控制模型的虚拟串口实现方案。该方案提供了 一种基于通信设备类开发虚拟设备的模板,对设计中的诸多问题进行了详细的说明,并改进了虚拟串口驱动程序中数据的处理流程。 3)将改进后的数据处理流程应用于虚拟串口的实现中,生成了一种基于通信设备类 的稳定、高速的虚拟串口。最后,在串口测试软件下对虚拟串口驱动程序进行了测试,达到了预期目标。 关键字:通讯设备类;枚举过程;虚拟串口程序;抽象控制模型

Abstract USB interface supports plug and play which has unified standards, so it has a wide ra nge of applications. More and more computer device use USB interface to transfer data, so how to make many old deaves to support USB interface without changing current applicati on is becoming the hot field. USB Communication Device Class and it's abstract control model are studied, princip les of Communication Device Class and implementation techniques of abstract device are a lso analyzed in the thesis. On the basis of this, design and implementation of virtual serial port driver based on Communication Device Class are given. The overall structure and implementation scheme of virtual serial port driver based on CDC are designed. The virtual serial port driver is made up of two parts which are commu nication command transfer module and data transmission module. The communication com mand transfer module satisfies the specification of abstract control model, and the data tran sfer part improves the technique of current virtual serial port. The main works in the thesis are as follows: 1)The request and transfer model for USB protocol are studied, and the implementation t echniques of virtual serial port are analyzed. 2)The implementation scheme of virtual serial port driver that satisfy abstract control mo de in CDC is graven. A new template for the development of virtual serial port based o n CDC is brought out, and it describes some issues for the virtual serial port driver in d etails, at the same time, the processing steps for virtual serial port driver is improved. 3)The improved data processing steps for virtual serial port driver is applied in the impl ementation of ritual serial port driver, and a stable, high-speed virtual serial port is ma de. At last, the test for the virtual serial port driveon ActiveSync is given, and the test r esult show that it's function is achieved the requirement goals. Keywords: Communication Device Class ;Enumeration Process; Virtual Serial Port Driver ;Abstract Control Model

USB虚拟串口用户指引_v11

USB 虚拟串口安装及使用指导 一、用途说明 ① 此文档仅适用于条码阅读器与计算机通过USB 接口进行连接的场合。 ② 此文档适用于有线手持式和无线条码阅读器。 ③ 如计算机上使用的是“串口数据通信软件”进行数据接收,此时就需要将USB 类型设置成“USB 虚 拟串口。 ④ 如需要在计算机上显示出条码中包含有非ASCII 码的字符(如中文),须将计算机设置成通过“串口数 据通信软件”进行数据接收,同时将USB 类型设置成“USB 虚拟串口”。 二、USB 类型的模式设置方法 开始设置 选项条码 选 项 参数值 USB 类型 HID 键盘 支持Apple Mac 的HID 键盘 USB 虚拟串口 00* 01 02 结束设置 例如:将USB 类型设置成“USB 虚拟串口” 依次扫描以下条码完成设置。如果是无线条码阅读器,应确定手持终端和基座的无线通信正常。 三、USB 虚拟串口驱动的安装 如果阅读器与计算机连接正确,在完成将USB 类型设置成“USB 虚拟串口”后,条码阅读器(或基座)会重启,此时计算机会提示要求进行USB 虚拟串口驱动的安装,详细步骤如下。一旦驱动安装成功,以后的使用中,计算机就会自动识别USB 虚拟串口,无需再次安装。 3.1. 当阅读器与计算机连接正确,(如是无线条码阅读器,应保证手持终端与基座无线通信正常),当按第二部分内容依次扫描条码设置成功那个后,经过几秒钟,计算机系统会弹出一个提示窗口如图1。注意由于阅读器使用的芯片不同,可能会出现如图2的提示窗口,两者安装方法相似,以下步骤以STM32为例。 图1找到新硬件STM32 Virtual Com Port 图2 找到新硬件Philips LPC2148 VCOM 3.2.在弹出的“找到新的硬件向导”对话框中,如图3,选择“否,暂时不”,然后选择“下一步”。

STM32虚拟串口 CDC官方示例程序修正

这几天一直在调试STM虚拟串口,我是在官方提供的列程的基础上改的,在调试过程中,发现这个列程存在几个BUG,为了大家学习的方面在此提出自己的一种解决方案,仅供大家参考。 https://www.wendangku.net/doc/e716288703.html,B->UART 没有等串口发送完,现象是只能发一个字符 void USB_To_USART_Send_Data(u8* data_buffer, u8 Nb_bytes) { u32 i; for (i = 0; i USB乱码

利用STM32CUBE创建一个虚拟串口

利用STM32CUBE创建一个虚拟串口 由于现在的PC机大多都没有串口了,但PC机上的很多应用程序却使用串口,为了让PC机与STM32处理器进行通信,可以让STM32处理器,以串行方式与外界进行通信,再用CH340等芯片,实现USB转串口的功能,实现虚拟串口。不过这样做需要额外的芯片和相关电路,不很理想。 利用STM32处理器自身的USB功能,就可以实现虚拟串口。由于USB是一个很复杂的东西,所对应的代码很多,如果采用操作寄存器或标准库的方式,都要编写很多代码,也容易出错,而采用STM32CUBE就方便多了。 首先要利用STM32CUBE,选择芯片,比如芯片型号为STM32F103ZET6,如下图所示: 然后在Pinout选项页中,先选择“RCC”项,按下图设置:

再选择“USB”选项,按下图设置: 这一步的最后再选择“USB_DEBICE”,按下图设置:

下面要设置时钟,进入“Clock Configuration”选项页,按下图设置: 请注意:上图的设置必须保障给USB模块的时钟信号是精准的48MHz,不允许有偏差。然后进行工程设置,点击菜单项“Porject→Settings...”,这时将弹出一个对话框窗口如下:

在该对话框窗口上,输入工程名、工程存放的文件夹、所用的开发工具之后,点击“OK”按键,关闭该对话框。 最后点击菜单项“Porject→Generate Code”,生成工程。本人用的开发工具是IAR,打开该工程,如下图所示:

这个工程已经包含了不少文件,建立了基本的程序框架和初始化代码,只要进一步添加应用程序代码就可以了。下面将围绕虚拟串口进一步编写程序: 在这个工程中,有一个“usbd_cdc_if.c”文件,进行USB虚拟串口进行数据的发送和接收时,首先要在usbd_cdc_if.c文件中修改“APP_RX_DATA_SIZE”、“APP_TX_DATA_SIZE”两个宏,它们用于数据的接收和发送缓冲区的大小;然后要声明一个结构体(并初始化),其代码如下:USBD_CDC_LineCodingTypeDef LineCoding = { 115200, /*baud rate*/ 0x00, /*stop bits - 1*/ 0x00, /*parity - none*/ 0x08, /*nb. of bits 8*/ }; 这段代码用于指示串口的基本设置。 在该文件的“CDC_Control_FS”函数中,在“CDC_SET_LINE_CODING:”下面,添加如下代码:pbuf[0] = (uint8_t)(LineCoding.bitrate); pbuf[1] = (uint8_t)(LineCoding.bitrate >> 8); pbuf[2] = (uint8_t)(LineCoding.bitrate >> 16); pbuf[3] = (uint8_t)(LineCoding.bitrate >> 24); pbuf[4] = LineCoding.format; pbuf[5] = LineCoding.paritytype; pbuf[6] = LineCoding.datatype; 这样之后,就可以使用虚拟串口了! 当需要发送数据时,先将要发送的数据放入一个数组中(假设该数组名为a,要发送的n个字节),然后用如下代码就可以发送数据: CDC_Transmit_FS(a, n); 如果还需要读取上位机传来的数据,要修改usbd_cdc_if.c文件中的CDC_Receive_FS函数,该函数原本为: static int8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len)

PC端串口通信实例教程

PC端串口通信示例教程 一、使用VC6和虚拟串口 本文介绍的工程示例都基于微软公司的Visual C++6.0(简称VC6)工具软件进行开发。首先确认电脑中是否有安装VC6开发软件。如果电脑中没有安装VC6,可以打开短学期资料文件夹中的工具软件子目录,双击“VC6_SP6”图标进行安装,建议设置安装路径到C:\VC6如图1所示。 图1 安装VC6 安装完软件后,打开VC6如图2所示。选择菜单项“File”→“Open Workspace”,弹出窗口如图3所示。然后打开资料文件夹下工程示例中的PC串口子目录,选择其中的COMTEST示例工程。 图2 VC6集成开发环境

图3 打开示例工程COMTEST 打开COMTEST示例工程后,可以看到VC6主界面如图4所示。打开工程后,可以点击工 具栏上的“Build”按钮或按快捷键F7进行编译。选择左边的“ClassView”类 视图可以查看整个工程用户相关的类代码结构;选择“ResourceView”资源视图可以查看整个工程相关的图标、文字、窗口等资源信息;选择“FileView”文件视图可以查看打开整个工程相关的用户源文件。 图4 VC6主界面布局 接下来,本文准备用虚拟串口和串口调试助手进行软件调试。打开资料文件夹→工具软件→PC端串口→虚拟串口,先按照说明安装虚拟串口驱动(本文不再详述)。然后打开虚拟串口配置程序vspdconfig如图5所示。软件会自动生成一对互相连接的虚拟串口,我们只需

要点击“Add Pair”按钮即可添加好。 图5 虚拟串口配置软件 回到图4的VC6主界面,选择“ClassView”类视图,展开CCOMTESTDlg类,双击OnInitDialog 函数如图6所示。修改其中的OpenPort代码行,将打开端口改为COM2。 图6 修改OnInitDialog函数

STM32建项目使用库官方库与修改库的方法

1.正点串口配置、下载程序 最近要搞STM32串口,向同学借来一块正点的开发板。正点原子的开发板就是独树一帜,一根usb线连在usb转串口接口,板子供电与下载程序都可以搞定! 简洁地记一下:总共要设置四个短冒,TXD连PA10、RXD连PA9、BOOT0即(B0)连3.3v、B1连GND 程序下载使用mcuisp,设置如下界面:下载程序后即可自动执行; 下载不完全手册中的程序下载示例test后,用串口助手可观察到如下: 至此,串口下载软、硬件配置完成。之前由于有虚拟串口的干扰,系统出现了蓝屏,卸载后

正常! 2.正点原子根据STM32提供的库自己修改成了“正点原子库”,MDK软件中包含有一个默认的STM32官方库,怎么指定或确认使用的是哪个版本的库呢? 在如下窗口设置,下面为能够正确编译后的正点原子的一个项目的配置截图,为什么在Preprocessor Symbols中没有指定什么,还能够编译通过呢!因为正点并没有直接用STM32 的官方库,而只是挪用了其中的一部分头文件而已,由于在Include pathes中指定了这些用到的头文件的位置,所以编译器会优先选择所指定的文件进行编译,而不会使用软件默认的库文件(头文件),同理,使用其他非软件默认的官方库操作一样,只不过由于库文件是面向STM32全系列的,因此,要做下面图2的设置。

另附一个比较完整得体的使用标准库的操作说明: 转自:https://www.wendangku.net/doc/e716288703.html,/emouse/archive/2012/03/01/2375146.html 通过上一节对标准外设库的介绍,想必各位读者对标准外设库已经有了基本的认识,然而由于标准外设库中文件众多,很多初学者在开始很长一段时间内甚至都无法完全自己建立一个工程,很多人只是依赖标准外设库或给定的工程模板。本节就介绍怎样利用Keil MDK 开发环境和标准外设库来搭建自己的工程。 建立一个基于标准外设库其实并不复杂,网络上也有很多关于怎样在Keil MDK下建立工程的教程,方法也各异,本节所介绍的方法本着少改动、便于使用、方便更换器件等原则,给大家介绍怎样在Keil中创建一个工程,并以一个最简单的例子来说明怎样下载和调试程序。 1.1.1 开发工具与开发环境 1. 软件版本 本节所使用Keil MDK 为目前的最新版V4.21,具体版本信息如图 5-6所示。其他版本差别不大,读者可以根据自己使用的版本进行操作或者从Keil的官网下载新版本。使用的标准外设库为目前最新的V3.5版本。使用的开发调试工具为JLINK-V8,使用的驱动版本为V4.08l。 图5-6 MDK详细版本信息 2. 建立工程目录 首先先建立一个用于存放工程的文件夹,此处命名为STM32,在文件夹下分别建立LIB、USER、MDK三个文件夹,分别用于存放标准外设库文件、用户程序文件、工程目录。在MDK 文件夹下建立List、Obj两个文件夹,分别用于存放在编译过程中产生的临时文件和输出文件。 接下来拷贝标准外设库和相应的文件到工程目录中,首先拷贝STM32F10x_StdPeriph_Li b_V3.5.0\Libraries文件夹下的两个文件夹CMSIS和STM32F10x_StdPeriph_Driver到刚刚新建

相关文档
相关文档 最新文档