初级会员

- 积分
- 57
- 金钱
- 57
- 注册时间
- 2019-7-8
- 在线时间
- 176 小时
|
100金钱
本帖最后由 seraph15 于 2021-3-20 11:19 编辑
我在项目A里,调试串口,它能正常发送(USART_SendData)我指定的数据那么我现在可以确定如下信息,是正确的
1、主频设置(system_stm32f4xx.c)
2、串口初始化和串口打印int main (void)
{
u8 count = 0;
delay_init(180);
USART6_Init(9600);
while(1)
{
delay_ms(1);
count++;
if(count == 700)
{
count = 0;
USART_SendData(USART6, 0x00);
}
}
}
3、硬件,自己的电路板
4、USB转TTL工具
5、串口调试助手,并且波特率设置正确
在这些前提下,我把项目A代码,移植到项目B
具体移植了2个东西
1、函数void USART6_Init(u32 bound)内的所有初始化设置
2、system_stm32f4xx.c的主频设置,我直接《alt + a》《ctrl +c》这样复制的
照理说,应该要可以正确打印的
我设置USART_SendData(USART6, 0x00);,打印出来的都是0xff
我设置USART_SendData(USART6, 0x12);,打印出来的都是0xff或是0xfc
肯定是代码问题了,因为我重新烧录项目A,还是能正常打印
是不是我遗漏了哪个设定?
谢谢
|
最佳答案
查看完整内容[请看2#楼]
你参考下我们6路串口的代码 也是F4的平台的 可以借鉴 http://www.openedv.com/forum.php?mod=viewthread&tid=282609
|