STM32开发
文章平均质量分 66
ckwenchao
这个作者很懒,什么都没留下…
展开
-
STM32F103VET6 SDIO读写不正常
硬件使用正点原子战舰V3开发板,采用cubumx配置程序,生成代码出现对SD进行数据读写的时候报错。没改之前程序写数据时出现SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt,解决办法是安装下图修改参数,其中CloclDiv增大对数据传输稳定有帮助,我在将其改hsd.Init.ClockDiv = 2时,通信还存问题;测试结果如下,SD正常读写数据...原创 2022-05-29 23:28:27 · 1226 阅读 · 0 评论 -
memset及sizeof的用法
一、sizeof(数组名)与sizeof(*数组名)举例#include<stdio.h>int main(){ int p[5]={1,2,3,4}; printf("sizeof(数组名)= %d\n",sizeof(p)); printf("sizeof *(数组名)= %d\n",sizeof(*p));}运行结果sizeof(数组名)= 16sizeof *(数组名)= 4分析:a代表数组的首地址,所以sizeof(a...转载 2022-05-21 15:41:10 · 2174 阅读 · 0 评论 -
c语言中void的用法
voidvoid最常见的用法,就是在函数中限定函数的参数和返回值的 void draw(void); 表明函数draw没有参数也没有返回值,void在别的的地方的应用我也没见过;实际上,如果把void 和int,char,double等类型放到一起理解的话,首先还是那句揭示本质的话:变量类型就是固定大小内存块的别名,那么void占用多大内存呢,编译器并没有定义void占用多大内存,所以对于void var; 这样的定义,编译器自然是不允许的,在vs中的错误提示是:不允许使用不完整的类型。void转载 2022-05-21 14:58:34 · 11039 阅读 · 0 评论 -
单片机中的ROM,RAM和FLASH的作用
ROM——作用存放指令代码和一些固定数值(掉电后数据存在) 程序经过编译、汇编、链接后,生成hex文件; 用专用的烧录软件,通过烧录器将hex文件烧录到ROM中 这个时候的ROM中,包含所有的程序内容:一行一行的程序代码、函数中用到的局部变量、头文件中所声明的全局变量,const声明的只读常量等,都被生成了二进制数据。 RAM——程序运行中数据的随机存取(掉电后数据消失) 整个程序中,所用到的需要被改写的量,都存储在RAM中,“被改变的量”包括全局变量、局部变量、堆栈段。 FLASH转载 2022-03-18 22:38:21 · 4447 阅读 · 0 评论 -
运用stm32f103c8t6的TIM4无输出PWM的解决方法
其PWM无输出的原因是:因为没有初始化时钟,IO口的初始化是无效的。例子:int main(){>>>>>>>>>>>>>>>>>>>>>>>>TIM4_Mode_Config();//无时钟初始化;TIM4_GPIO_Config(); //包含时钟初始化,则需要将其放在TIM4_Mode_Config()函数之前才会输出PWM;>>>>>>>>>原创 2015-04-07 11:57:23 · 3832 阅读 · 0 评论 -
怎么选用MCU的RAM和ROM大小
这几天在捉摸单片机的ROM和RAM的选择: 总结规律:用Keil 开发软件编译程序后,在编译Output界面,会出现“Program Size: data=72.2 xdata=0 code=1737”,这到底反映了什么信息呢?其中:data=72.2代表你这段程序生成的目标代码所占用单片机的内部RAM空间是72.2个字节;xdata代表片外RAM空间,xdata=0表示原创 2015-07-15 09:05:57 · 1283 阅读 · 0 评论