草庐IT

CubeMX-Keil

全部标签

Keil MDK ARM v5.38安装

STM32开发环境为例:链接:https://pan.baidu.com/s/16sOOZDubCbhedoDJewSlGg?pwd=yg8r提取码:yg8r步骤一:链接:https://pan.baidu.com/s/1Bnvh7DmkLfZii6VC8-vLQg?pwd=lax3提取码:lax3下载完成解压缩选中KeilMDK538.exe右键以管理员身份运行安装路径,默认或者自行更改都可以客户信息随便填等待安装完成......步骤二:链接:https://pan.baidu.com/s/1l1rdH0OGqKaASVLk9f6v2A?pwd=7s5h提取码:7s5h右键以管理员身份运行选

Keil C51 if条件内使用位运算错误

KeilC51if条件内使用位运算错误在学习51单片机时我发现在if条件内做位运算,并与寄存器做判断时会出现错误,但在if外做好位运算,再进行比较,就不会有错误。于是我写了下面的程序进行测试。这段代码可以直接再普中51-实验板上运行。#include#defineKEY_PORTP3#defineLED_PORTP2typedefunsignedintu16;typedefunsignedcharu8;u8key1=0x2;u8key2=0x1;u8key3=0x4;voidmain(){while(1){u8zero=~0xff;if((KEY_PORT&key1)==(~0xff))//判

keil5(按键控制流水灯)

 前言按键控制流水灯(正向,反向和暂停)详细代码main.c#include#include"Timer0Init.h"#include"key.h"#include//函数库unsignedcharkeynum,LEDmood;voidmain(){ P2=0xFE; Timer0Init(); while(1) { keynum=key(); if(keynum) { if(keynum==1) { LEDmood=1; } if(keynum==2) { LEDmood=2; } if(keynum==3) { LEDmood=3;

点击Keil的C99解决Keil_C51无法定义局部变量问题以及解决变量不能定义在可执行函数前(User\main.c(22): error: #268: declaration may not a)

1.先说重点:先说一下C99重要的性质:那就是变量可以定义在变量被引用前的任意位置 在C89标准的时候,例如我要写一个for循环的函数在C99模式下,我们可以写成for(inti=0;i也就是可以将变量定义在被引用前的任意位置,但是在C99标准之前,要求函数中的局部变量必须定义在函数的开头。2、发现问题根源此前写了一个C51的程序,在函数中定义了一个局部变量,然后怎么都编译不通过,报错显示我定义的变量没有定义,我一开始以为是我其他部分的程序有问题,但是反复找了半天,都没找到,最后无意间看到一个资源描述下面的几行字,试了一下才真正找到原因所在。因为一个函数里面需要用到for循环,然后我定义一个顺

STM32 SPI介绍及CubeMX配置

目录一.SPI简介二.SPI协议物理层:协议层:1.SPI的基本通讯过程2.通信模式三.STM32中的SPISPI框图:1.通信引脚 2.时钟控制逻辑3.数据控制逻辑4.整体控制逻辑四.CubeMX配置SPI 1.配置时钟源 2.SPI配置3.时钟源设置4.项目文件设置一.SPI简介SPI(Serial PeripheralInterface),即串行外围设备接口,是一种高速全双工通信,被广泛应用在设备与MCU之间要求通信频率高的场合二.SPI协议物理层:主机MCU与从机通过四条线连接,其中SCK、MOSI、MISO三条线共用,SS为从设备选择信号线,使SPI可以支持多设备。NSS:片选信号线

STM32开发(16)----CubeMX配置DMA

CubeMX配置DMA前言一、什么是DMA?二、实验过程1.CubeMX配置2.代码实现3.实验结果总结前言本章介绍使用STM32CubeMX对DMA进行配置的方法,DMA的原理、概念和特点,配置各个步骤的功能,并通过串口DMA传输实验方式验证。一、什么是DMA?DMA(DirectMemoryAccess),即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。STM32F103内部有2个DMA控制器(DMA2仅存大容量产品中),DMA1有7个通道。DMA2有5

keil5安装了pack包但是还是不能选择device

一开始,我以为是keil5无法安装STM32芯片包,打开device倒是可以看到stm公司的芯片包,但是没有我想要的stm32f1。  我按照网上的一些说法,找到了这个STM32F1的pack芯片包,但是我双击安装的时候,它的安装位置不能重新指定,是固定的,网上要求的是安装到和KEIL5同一目录,于是一直安装不上去。 进到packinstaller里面,倒是有相关的显示,如下图   英语太渣,翻译了一下: install安装update更新unpack打开remove移除previous旧版本,以前的releasenotes发行说明component updated部分更新StdPeriphd

Keil5中写的软件延时函数不起作用现象解析_ARM_Compiler_volatile关键字

一、问题描述在学习野火霸天虎F407寄存器点亮LED时,出现实验现象:LED灯不亮,野火霸天虎F407资料。main.c代码如下:#include"stm32f4xx.h"voidDelay(unsignedintcount);intmain(void){#if0/*第一步:开启GPIO端口的时钟*//*打开GPIOF端口的时钟*/*(unsignedint*)(0x40023800+0x3f0)|=(15);/*第二步:控制GPIO的方向 *//*GPIOF配置为输出*/*(unsignedint*)(0x40021400+0x00)&=~((0x03)(2*6));*(unsignedin

尝试使用CubeMX做stm32开发之四:GPIO配置

        参考《STM32中文参考手册_V10》,研究CubeMX中有关GPIO的配置。一、配置参数1)GPIOoutputlevel:只有当引脚设置为“GPIOoutput”时才需要设置        High:GPIO输出初始化为高电平        Low:GPIO输出初始化为低电平2)GPIOmode        OutputPushPull:推挽输出,能输出高低电平,且高低电平都有驱动能力。以PB13引脚为例,若需要通过其控制LED灯,则该引脚应配置为“OutputPushPull”模式,对应标准库函数中的“GPIO_Mode_Out_PP”        OutputOpe

【通过STM32CubeMx配置LWIP+FreeRTOS并通过Socket实现TCP_Client/Sever】

通过STM32CubeMx配置LWIP+FreeRTOS并通过Socket实现TCP_Client/Sever测试平台→Nucleo_F429ZI软件工具→STM32CubeMx6.6.1MDK5.3.0网络调试助手V1.2实现Ping通在CubeMx上面选择NUCLEO-F429ZI开发板,并采用默认配置使能FreeRTOS修改defaultTask的栈大小由于使用了FreeRTOS,因此系统的TimeBaseSource修改成TIM1使能LWIP,并且先禁用DHCP,设置好静态IPPlatform选择LAN8742修改堆栈大小,生成工程生成KEIL工程之后,勾选上useMicroLIB,代