博士
最后登录1970-1-1
在线时间 小时
注册时间2015-10-31
|
本帖最后由 CSWZH8 于 2021-7-13 00:38 编辑
/*提示字符串*/
uint8_t txbuff[] = "hello world\r\n";
int main()
{
uint8_t ch; //用于暂存串口收到的字符
uint8_t *p = txbuff;
system_clock_init();
uart_init();
UART_WriteBlocking(UART1, &p, 4); //打印hex : 34 04 40 80,和生成的map文件相对应,这个地址值应该是没错的
UART_WriteBlocking(UART1, txbuff, 13); // FF FF FF FF FF FF FF FF FF FF FF FF FF
UART_WriteBlocking(UART1, *p, 13); // FF FF FF FF FF FF FF FF FF FF FF FF FF
while (1)
{
UART_ReadBlocking(UART1, &ch, 1);
UART_WriteBlocking(UART1, &ch, 1);
}
return 0;
}
代码如上,自己搭建的工程,打印出来的字符串不符合预期! 感觉像是因为调用了位置相关码,寻址错误。
因为把txBuf定义在main函数里面时打印是OK的。
但是我的程序连接地址确实是80002000,不知道哪里出了问题
|
|