随笔分类 - STM32
摘要:这个问题的根本原因是复位后,TC和TXE标志位默认都是1,很多人喜欢这样写:USART_SendData(USART1, (u8) ch); while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) { } while在发送第一个字节时没有起到应有作用,直接跳出,接着写第二个字节,这时第一个字节还未发出,数据被破坏了USART_SendData执行后延迟一段时间,TC标志位才清零。把GPIO时钟和USART时钟一起开,就不会出现fe
阅读全文
摘要:1.新建一个文件,夹命名为ProName.在该文件夹下新建四个文件夹,分别是: src:存放自己编写的源码 project:存放工程文件 output:存放输出文件 listing:存放listing文件2.在keil中new一个project,就放在project文件夹下。选择芯片型号,不拷贝启动文件(下载的库里有,自己添加)。3.点,设置工程文件结构,包括: STARTUP:包含启动文件(一个.s文件,具体根据芯片型号来选择) FWlib:包含所用到的外设驱动文件(即外设库,只用包含.c就行了) CMSIS:包含core_cm3.c和system_stm32f10x.c s...
阅读全文
摘要:GPIO有四种输入模式,四种输出模式输入模式: 1.上拉输入:在默认状态下(GPIO引脚无输入),读取得的GPIO引脚数据为1,高电平。 2.下拉输入:在默认状态下其引脚数据为0,低电平。 3.浮空输入:输入阻抗较大,电压1点几伏,是个不确定值。 4.模拟输入:将电压信号传给ADC模块,由ADC模块采集电压信号。输出模式: 1.普通推挽输出模式:加快开关速度和负载能力,低电平0V,高电平3.3V。 2.普通开漏输出模式:在开漏输出模式时,如果我们控制输出为0,低电平,则使N-MOS管导通,使输出接地,若控制输出为1 (无法直接输出高电平),则既不输出高电平,也不输出低电平,为高阻态...
阅读全文
摘要:stm32库v3.5.0CMSIS: core_cm3.c core_cm3.h 这两个文件提供Cortex-M3内核入口 stm32f10x.h 这个文件封装内存地址,就是地址映射,像个大表格。 system_stm32f10x.c system_stm32f10x.h 设置系统时钟和总线时钟 startup 启动文件FWlib 片上资源的驱动,里面有函数,直接调用。需要什么就加载什么。USER main.c stm32f10x_conf.h 选择要加载的驱动(任何驱动都是.c文件和.h文件成对使用) stm32f10x_it.c stm32f10x_it...
阅读全文

浙公网安备 33010602011771号