lugl4313820 发表于 2023-11-21 20:05

提个低级问题呀

<p>今天在调试stm32中的spi数据发送。同样的代码,在keil中是可以运行了,但是到了stm32cubide中就出错了。</p>

<pre>
<code>在stm32cubeIDE中
在spi发送中遇到这样的问题。
void LCD_Writ_Bus(uint8_t dat)
{
HAL_SPI_Transmit(&amp;hspi1, dat, 1,1000);
}
会出现错误
修改成这样
void LCD_WR_DATA8(uint8_t dat)
{
uint8_t buff;
buff = dat;
HAL_SPI_Transmit(&amp;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>&nbsp;</p>

lugl4313820 发表于 2023-11-21 20:12

<p>&nbsp; 这个问题,纠结了半天,通过调试才发现的问题所在,因为此在spi赋值时要注意一下这个问题。</p>

damiaa 发表于 2023-11-28 15:33

本帖最后由 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>

Gen_X 发表于 2023-12-19 19:18

<p>这里只能间接寻址,初学时我也遇到过这个问题。</p>

<p>开始也不知道原因,只是这么修改就好了。后来才直到。</p>

lugl4313820 发表于 2023-12-19 22:05

Gen_X 发表于 2023-12-19 19:18
这里只能间接寻址,初学时我也遇到过这个问题。

开始也不知道原因,只是这么修改就好了。后来才直到。

<p>后面我直接传地址,也不会出错。可能是编译器的问题。stm32cubeIDE是gcc&nbsp;</p>
页: [1]
查看完整版本: 提个低级问题呀