edmundlee 发表于 2019-4-17 14:21
也一样, Clock Enable要放最前面
最前面是usartinit函数的外面还是这个函数的最前面???
thereborn000 发表于 2019-4-17 14:28
最前面是usartinit函数的外面还是这个函数的最前面???
不管你放外面还是放函数内, 反正要设置外设之前, 第一步就是先Enable Clock, USART是这样, SPI是这样, IO也是这样
开启rcc时钟只要在usart_init()之前即可,结构体定义可以在rcc之前,这不是原因。重点看缺省管脚要对应,象toofree说的。另外,大多串行通讯接口其两方接线均是交叉的
沒重映射吧 ? :o
楼主这个重映射是基本的,你要自己找资料来学,不如先不要改PA9,PA10,先确认在这个状况下,程序是否可用,然后,再重映射改成PB6,PB7,还有,如果你用CUBEMX来设置的话,重映射这个就由机器自己生成了,具体就是先占用PA9,PA10,然后设置USART1就可以了。
先用字节发送函数发个字节看看,
Kevin201707 发表于 2019-4-18 10:08
先用字节发送函数发个字节看看,
发送了,字节函数也打印不出来,这是什么原因呢?
五哥1 发表于 2019-4-18 08:50
楼主这个重映射是基本的,你要自己找资料来学,不如先不要改PA9,PA10,先确认在这个状况下,程序是否可用, ...
也就是说我不能简单地修改PA9,PA10为PB6和PB7,我还得进行重映射的一些配置是吗?
将fputc()函数while(USART_GetFlagStatus())里的…FLAG_TC,换成…FLAG_TXE试下,这两个标志还是有区别的
toofree 发表于 2019-4-17 12:26
USART1的管脚设置有问题,默认是PA9、PA10。
如果要使用PB6、PB7,那得重映射一下。
GPIO_PinRemapConfig(G ...
哦对了 我的是stm32f107 还要重映射吗?