此博客为记录419通信实验室智能小车+机械臂项目的进展博客
2022年10月6日
串口一对多下载与通信
实现了单片机A和单片机B的串口下载与接收
具体的操作步骤见那边写串口的文章 ### 实现了编码器EN1和EN3的读取 #### Cube配置
#### 代码配置
1 | /* USER CODE BEGIN 4 */ |
int mian()里面,while(1)之前
1 | /*打开定时器中断*/ |
结果
## 2022年10月7日 ### 实现了四个编码器的读取 |定时器|编码器| |--|--| |TIM2|EN1| |TIM3|EN2| |TIM4|EN3| |TIM5|EN4| ## 2022年10月21日
实现了树莓派与STM32的收发数据测试
我们用的树莓派是4B,之前用了3B+的做了串口接收的测试,参考的是这一篇文章 树莓派3B+与STM32进行串口通讯,收数据是通了。发数据还有点问题,然后就去找了很多,发现是利用Python的Serial库进行的串口通讯
1 | import serial |
STM32程序
这里就关系到我们之前用的串口发送接收重定义了,
1 | /*fgetc*/ |
这里的HAL_UART_Receive()他在HAL库中不是阻塞式接收,也就是说scanf在32中被执行的时候并不会暂停,所以为了确保其能接收到数据,我们要将他手动改成阻塞式的
1
2
3
4
5
6
7
8
9
10
11
12
13/* USER CODE BEGIN 3 */
printf("Aaaa\n");
printf("1145141919810\n");
printf("woshiA\n");
HAL_Delay(1000);
n=0;
while(n == 0)
{
scanf("%d",&n);
}//使其变成手动的阻塞式接收
HAL_Delay(1000);
printf("output:%d",n);
HAL_Delay(1000);