STM32单片机大家用什么软件编程
keil的arm版叫MDK,界面一样,启动时也带keil的图标。
目前mdk系列,软件仿真无法过锁相环,需要手动修改代码,硬件仿真倒是有相关的驱动/以及方法,mdk4和5都能仿真(需要配置一下)。
keil早就被arm收购了,然后一个软件,根据配属的库的不同,分出了keil C51 以及MDK。
MDK可以仿真stm32f4,就是要改几个选项~~~~~
使用了stm32cubemx能申请软件著作权吗
软件著作权即软件开发完成之日起就自动产生,登记并不是权利产生的必要条件。
软件著作权登记申请是指著作权人向中国版权保护中心提出申请,由中国版权保护中心审核并发出软件著作权登记证书。
软件著作权登记申请的条件有:软件著作权人主体资格证明,主体资格具体有:自然人、法人或者其他组织。
软件著作权人自主开发软件证明即软件著作权的权利归属证明和软件产品的相关资料(具体有:软件的源程序及文档;软件的名称及版本号、开发完成时间、发表时间;软件运行环境(指软件运行的硬件和软件环境);软件开发使用的编程语言的名称及版本号、源程序总行数;软件的主要功能、用途和技术特点作简要说明。
stm32的STM32F5
ARM公司的高性能”Cortex-M3”内核1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz一流的外设1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度低功耗在72MHz时消耗36mA(所有外设处于工作状态),待机时下降到2μA最大的集成度复位电路、低电压检测、调压器、精确的RC振荡器等简单的结构和易用的工具 12V-36V供电兼容5V的I/O管脚优异的安全时钟模式带唤醒功能的低功耗模式内部RC振荡器内嵌复位电路工作温度范围:-40°C至+85°C或105°C 特点内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。
单周期乘法和硬件除法。
存储器:片上集成32-512KB的Flash存储器。
6-64KB的SRAM存储器。
时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。
上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。
4-16MHz的晶振。
内嵌出厂前调校的8MHz RC振荡电路。
内部40 kHz的RC振荡电路。
用于CPU时钟的PLL。
带校准用于RTC的32kHz的晶振。
低功耗:3种低功耗模式:休眠,停止,待机模式。
为RTC和备份寄存器供电的VBAT。
调试模式:串行调试(SWD)和JTAG接口。
DMA:12通道DMA控制器。
支持的外设:定时器,ADC,DAC,SPI,IIC和UART。
3个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6V。
双采样和保持能力。
片上集成一个温度传感器。
2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。
最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。
除了模拟输入,所有的都可以接受5V以内的输入。
最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。
2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。
2个看门狗定时器(独立看门狗和窗口看门狗)。
Systick定时器:24位倒计数器。
2个16位基本定时器用于驱动DAC。
最多多达13个通信接口:2个IIC接口(SMBus/PMBus)。
5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。
3个SPI接口(18 Mbit/s),两个和IIS复用。
CAN接口(2.0B)。
USB 2.0全速接口。
SDIO接口。
ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。
系统作用1、集成嵌入式Flash和SRAM存储器的ARM Cortex-M3内核。
和8/16位设备相比,ARM Cortex-M3 32位RISC处理器提供了更高的代码效率。
STM32F103xx微控制器带有一个嵌入式的ARM核,所以可以兼容所有的ARM工具和软件。
2、嵌入式Flash存储器和RAM存储器:内置多达512KB的嵌入式Flash,可用于存储程序和数据。
多达64KB的嵌入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。
3、可变静态存储器(FSMC):FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,带有4个片选,支持四种模式:Flash,RAM,PSRAM,NOR和NAND。
3个FSMC中断线经过OR后连接到NVIC。
没有读/写FIFO,除PCCARD之外,代码都是从外部存储器执行,不支持Boot,目标频率等于SYSCLK/2,所以当系统时钟是72MHz时,外部访问按照36MHz进行。
4、嵌套矢量中断控制器(NVIC):可以处理43个可屏蔽中断通道(不包括Cortex-M3的16根中断线),提供16个中断优先级。
紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。
5、外部中断/事件控制器(EXTI):外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。
每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。
有一个挂起寄存器来维护中断请求的状态。
当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。
多达112个GPIO连接到16个外部中断线。
6、时钟和启动:在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选用作CPU时钟。
可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。
在这期间,控制器被禁止并且软件中断管理也随后被禁止。
同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。
多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的频率为72MHz,低速APB最高的频率为36MHz。
7、Boot模式:在启动的时候,Boot引脚被用来在3种Boot选项种选择一种:从用户Flash导入,从系统存储器导入,从SRAM导入。
Boot导入程序位于系统存储器,用于通过USART1重新对Flash存储器编程。
8、电源供电方案:VDD ,电压范围为2.0V-3.6V,外部电源通过VDD引脚提供,用于I/O和内部调压器。
VSSA和VDDA,电压范围为2.0-3.6V,外部模拟电压输入,用于ADC,复位模块,RC和PLL,在VDD范围之内(ADC被限制在2....
基于keil MDK给stm32编程的问题。
。
。
嵌入式系统开发环境的搭建
展开全部您好,一、【安装STM32库】 将下载后的stm32f10x_stdperiph_lib.zip解压后得到三个文件夹分别是:"Libraries"、"Project"、"Utilities"将这3个目录复制到"Keil uVision4"的安装目录,和目录中的文件覆盖合并。
二、【新建工程】 1、打开"Keil uVision4",在Project菜单中选择新建工程,选择工程要保存的位置,在弹出的“Select Device for target”的对话框中选择使用的STM32单片机的型号如“STM32F103C8”,点确定,然后在弹出的“Copy startup code”的对话框中点选"NO".2、在Project“Target 1”上点选右键菜单“Option for target target1中设置相关参数”在[Output]选项卡中点选“Create HEX file”,点"Select folder for objects"设置临时生成的obj文件的存放目录,当然也可以不选择;3、在[C/C++]选项卡的"Preprocessor Sysmbols"的Define框中做如下定义:USE_STDPERIPH_DRIVER,STM32F10X_MD 其中USE_STDPERIPH_DRIVER表明要使用ST提供的库,在"system_stm32f10x.c"文件中包含的"stm32f10x.h"文件中有如下定义:#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif在[C/C++]选项中添加的USE_STDPERIPH_DRIVER宏就是这个作用,用来包含"stm32f10x_conf.h"这个文件被称为"Library Configuration file"用来配置你需要使用到库的那些文件的,例如需要使用到GPIO就应在在这个文件中加上#include "stm32f10x_gpio.h"这个文件可以在STM32库的给出的例程中找得到(C:\Keil\ARM\Project\STM32F10x_StdPeriph_Examples)另外还需要在例程中复制"stm32f10x_it.c"和"stm32f10x_it.h"这2个文件,这2个文件时用来完成STM32中重中断服务程序的将一下三个文件复制到自己工程的user目录下供以后使用:"stm32f10x_conf.h"、"stm32f10x_it.c"、"stm32f10x_it.h"STM32F10X_MD 表明使用的是STM32F10X系列的CPU而该CPU的Flash代码密度是中等(Medium-density devices)这个和使用的CPU相关的查阅CPU的手册就可以得到。
然后在该选项卡的下方的"Include Paths"中设置include使用的路径等,如下图所示:其中.\user路径是用来保存自己定义的头文件的路径4、[Debug]选项卡选择使用"Cortex-M/R J-Link/J-Trace",然后点"Settings"按钮在新打开的对话框中选择[Flash Download]选项卡点"Add"按钮添加编程使用的Flash,在本例中选用的CPU是STM32F103C8,其Flah为Medium-density使用片上的Flash型号为"STM32F10X Med-density Flash On-chip-Flash 128K",最终点OK保存设置。
5、[Utilities]选项卡中的"Use Target Device for Flash Programing"要选择和[Debug]选项卡中一样的调试器"Cortex-M/R J-Link/J-Trace";6、然后再次在左侧的"Target 1"上点选右键,在菜单中选择"Manger Components"然后在"Project components"选项卡的"Group"中新建3个组名称分别为"user"、"libs"、"cmsis"1、 分别用来保存用户自己的C文件、stm32f10x_stdperiph_lib的库、和cortex-m3的启动文件等。
users:Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\ system_stm32f10x.c (stm32f10x_it.c该文件定义各种中断的中断服务函数)libs:Keil\ARM\ Libraries\ STM32F10x_StdPeriph_Driver\src\*.*cmsis:Keil\ARM\ Libraries\ CMSIS\ CM3\ CoreSupport\core_cm3.c Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.ckeil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s(该文件和CPU的Flash的代码密度相关,本例中的STM32F103C8是Medium-density故选用xxx_md.s)
求用到stm32和软件控制的毕业设计课题?
展开全部 开发一般是MDK,IAR之类的,或者st官方的。
他们作为编程工具也是可以的。
不过,可以考虑用VS作为编程工具,但是debug还是需要前面说的几个工具。
我推荐你用MDK,推荐你关注下https://blog.csdn.net/ybhuangfugui/article/details/51501781他的文章有说明如何安装,他的文章网盘里面有各个版本KEIL,IAR他也有说明,基本例程他也有。
后面建议用CUBE配合KEIL开发...