1.SysTick 系统滴答实验
管脚、时钟设置:
运行结果:
2.IR 红外线接收实验
红外遥控有发送和接收两个组成部分。发送端将待发送的二进制信号编码调制为一系列的脉冲
串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波、整形,并
解调出遥控编码脉冲,把需要发送的信号编码调制为一系列的脉冲串信号由红外 LED 发送出去。
串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波、整形,并
解调出遥控编码脉冲,把需要发送的信号编码调制为一系列的脉冲串信号由红外 LED 发送出去。
管脚配置:
PG5为外部中断 Tim7为红外接收计时
时钟设置:
管脚GPIO 设置:
问题:在MDK中编译项目时发现编译错误
Symbol重定义的错误解决:在复制源代码时要把system_stm32f4xx.c 放到CMSIS目录下面,而不是user目录下面
Symbol未找到错误解决:将.h .c源代码粘贴到项目文件中
使用遥控器对红外线接收头按键,产生如下消息。
3.NOR_FLASH 访问实验
实验目的:
了解Nor flash 闪存技术,了解norflash和nandflash 的异同,了解norflash接口和容量成本以及它的耐用性和可靠性,了解如何通过STM32的FSMC接口访问Nor flash
实验过程:
配置
FSMC
对管脚进行配置,并且开启
USART1->Asynchronous
和
RCC
外部时钟 :
设置
FSMC
参数:
设置串口参数:
在编译链接的时候发现出现报错:nor\nor.axf: error: L6047U: The size of this image (276948 bytes) exceeds the maximum allowed for this version of the linker
是因为使用的keil5没有注册激活,使用的时候对字节数有限制,需要下载注册机进行激活就可以重新编译成功了。
这里有一个尚未解决的问题,printf函数打印信息到串口调试窗口不能输出信息。
fputc函数的重定向也进行了修改,还是不能正常输出,但是如果连接仿真器的话,通过debug可以输出相关信息,但是nor flash的读取按照源代码程序总是会出错。暂时还没有解决这个问题