提个低级问题呀
<p>今天在调试stm32中的spi数据发送。同样的代码,在keil中是可以运行了,但是到了stm32cubide中就出错了。</p><pre>
<code>在stm32cubeIDE中
在spi发送中遇到这样的问题。
void LCD_Writ_Bus(uint8_t dat)
{
HAL_SPI_Transmit(&hspi1, dat, 1,1000);
}
会出现错误
修改成这样
void LCD_WR_DATA8(uint8_t dat)
{
uint8_t buff;
buff = dat;
HAL_SPI_Transmit(&hspi1, buff, 1,1000);
}
就不会出错了。
发送的原型为:
HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size, uint32_t Timeout)
但是在keil中就不会出错。</code></pre>
<p>各位大佬们帮普及一下,虽然我知道是低级的问题哈。</p>
<p>同样的问题,其他的大佬也有遇到过。</p>
<p><a href="https://blog.csdn.net/qq_44388047/article/details/129882876">STM32调试特定函数出现Cannot access Memory_YONGHENGق.的博客-CSDN博客</a></p>
<p> </p>
<p> 这个问题,纠结了半天,通过调试才发现的问题所在,因为此在spi赋值时要注意一下这个问题。</p>
本帖最后由 damiaa 于 2023-11-28 17:07 编辑
<p><img height="32" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan76.gif" width="32" />指针这玩意就是要注意。</p>
<p>这里只能间接寻址,初学时我也遇到过这个问题。</p>
<p>开始也不知道原因,只是这么修改就好了。后来才直到。</p>
Gen_X 发表于 2023-12-19 19:18
这里只能间接寻址,初学时我也遇到过这个问题。
开始也不知道原因,只是这么修改就好了。后来才直到。
<p>后面我直接传地址,也不会出错。可能是编译器的问题。stm32cubeIDE是gcc </p>
页:
[1]