首页 > 代码库 > IAR spi调试
IAR spi调试
在软件调试的时候发现Watch窗口中无法观察局部变量的值,
总是显示<unavailable>
设置IAR中的
"Options —
c/c++ compiler —
Optimization —
Level" 选项None
全局变量、静态局部变量、局部变量的值都可以看到
HAL库获取系统时钟的函数
sys_wcpclk=HAL_RCC_GetHCLKFreq();
cubeMX
LL(Low Layer) HAL(Hardware Abstraction Layer) APIs
介绍:
1 new project
The MCU selector 和 A Board selector
配置步骤(初始化函数)
HAL_SPI_Init() SPI peripheral configuration
HAL_SPI_MspInit() 硬件相关的SPI资源配置
(CLOCK, GPIO, DMA and NVIC)
uncommented 未注释
LED3 等待user button 按下
LED4 on 传输完成
LED6 on 接受完成
LED5 on 传输和接受过程错误
main.h 更新SPIx instance
相关的资源根据硬件的使用
复位一个从板,然后在主板上执行才会有一个正确的结果
HAL_Delay()必须要有一个更高的优先级(数字低)
HAL_NVIC_SetPriority()设置优先级
外围初始化:
1 开始一个外围HAL_MPPP_MspInit()功能
- 使能外围时钟
- 配置外围GPIOs
- 配置DMA通道和使能DMA中断(若需要)
- 使能外围中断(若需要)
2 编辑stm324xx_it.c调用需要的中断函数(外围和DMA),若需要
3 写一个进程完成一个回调功能如果使用者计划使用外围中断和DMA
4 在main.c文件初始化外围处理结构体。然后调用HAL_PPP_Init()初始化外围
IAR spi调试