OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11676|回复: 16

论坛菜鸟太多,这里共享个STM32F103环境下的,支持232、485、库版本与寄存器版本选择性编译的串口程序

[复制链接]

14

主题

219

帖子

0

精华

高级会员

Rank: 4

积分
598
金钱
598
注册时间
2014-4-14
在线时间
76 小时
发表于 2016-9-20 09:37:56 | 显示全部楼层 |阅读模式
程序功能如题,使用方法如下,这个串口程序支持232、485、支持清缓存、支持库版本与寄存器版本的选择性编译,不过在使用寄存器版本的时候,要注意MY_NVIC_Init()函数的使用,我这里给了个sys.c文件,里面有MY_NVIC_Init()函数的实现,童鞋们可以参考下,程序里面给了个crc16的校验算法,以及printf的实现,程序自己做了头空数据处理,也就是说,如果程序收到"0x00 0x00 0x01 0x02 0x00 0x03 0x00",程序会将前面的0x00去掉,实际只会收到"0x01 0x02 0x00 0x03 0x00",如果有需要接收前面的0x00的童鞋,请自行在接收中断中处理。希望能帮助大家吧~~代码整理的很累,写不好勿喷,求大神指点,继续完善~~
main.c
[mw_shl_code=c,true]#include <string.h>
#include <stdlib.h>
#include "stdio.h"
#include "delay.h"
#include "usart1.h"
#include "usart2.h"
#include "usart3.h"
#include "usart4.h"
#include "usart5.h"

int main(void)
{   
        u8 buff[200]="";
        int siz = 0;
        delay_init();//延时函数初始化
        usart1_Configuration(9600);
        usart2_Configuration(9600);
        usart3_Configuration(9600);
        usart4_Configuration(9600);
        usart5_Configuration(9600);
        printf("Begin...\r\n");
       
        while(1)
        {
                siz = 0;
                memset(buff,0,sizeof(buff));
               
                siz = usart1_Receive(buff, sizeof(buff));
                if(siz){
                        usart1_Send((u8 *)"usart1 recv:",strlen("usart1 recv:"));
                        usart1_Send(buff,siz);
                }
               
                siz = usart2_Receive(buff, sizeof(buff));
                if(siz){
                        usart2_Send((u8 *)"usart2 recv:",strlen("usart2 recv:"));
                        usart2_Send(buff,siz);
                }
               
                siz = usart3_Receive(buff, sizeof(buff));
                if(siz){
                        usart3_Send((u8 *)"usart3 recv:",strlen("usart3 recv:"));
                        usart3_Send(buff,siz);
                }
               
                siz = usart4_Receive(buff, sizeof(buff));
                if(siz){
                        usart4_Send((u8 *)"usart4 recv:",strlen("usart4 recv:"));
                        usart4_Send(buff,siz);
                }
               
                siz = usart5_Receive(buff, sizeof(buff));
                if(siz){
                        usart5_Send((u8 *)"usart5 recv:",strlen("usart5 recv:"));
                        usart5_Send(buff,siz);
                }
        }
}[/mw_shl_code]
usart.zip (27.04 KB, 下载次数: 1484)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-11-16
在线时间
6 小时
发表于 2017-11-20 10:45:43 | 显示全部楼层
回复 支持 1 反对 0

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-9-20 10:27:46 | 显示全部楼层
不错不错,很适合我这个菜鸟
回复 支持 反对

使用道具 举报

3

主题

177

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1604
金钱
1604
注册时间
2016-1-28
在线时间
265 小时
发表于 2016-9-20 11:05:41 | 显示全部楼层

不错不错,很适合我这个菜鸟
宠辱不惊看庭前花开花落去留无意望天上云卷云舒。
回复 支持 反对

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-9-23 17:35:37 | 显示全部楼层
太牛逼了。顶顶顶
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2015-12-8
在线时间
12 小时
发表于 2016-9-24 15:31:44 | 显示全部楼层
不错不错 很适合我这个菜鸟
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2012-11-6
在线时间
33 小时
发表于 2016-9-24 15:38:52 | 显示全部楼层
适合我这个菜鸟
回复 支持 反对

使用道具 举报

58

主题

359

帖子

0

精华

高级会员

Rank: 4

积分
987
金钱
987
注册时间
2014-9-29
在线时间
261 小时
发表于 2016-9-26 13:35:42 | 显示全部楼层
不错不错 很适合我这个菜鸟
回复 支持 反对

使用道具 举报

3

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-6-22
在线时间
56 小时
发表于 2016-9-26 14:58:17 | 显示全部楼层
不错不错 很适合我这个菜鸟
回复 支持 反对

使用道具 举报

0

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
153
金钱
153
注册时间
2014-2-9
在线时间
22 小时
发表于 2016-9-26 23:36:15 来自手机 | 显示全部楼层
8# 下一个定义 8小时前 不错不错 很适合我这个菜鸟
回复 支持 反对

使用道具 举报

2

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
812
金钱
812
注册时间
2016-3-9
在线时间
83 小时
发表于 2016-9-28 17:18:45 | 显示全部楼层
收藏看看,楼主辛苦.
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2016-10-9 11:12:30 | 显示全部楼层
谢谢楼主了
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2017-2-18
在线时间
1913 小时
发表于 2017-8-23 20:02:28 | 显示全部楼层
帮顶楼主
回复 支持 反对

使用道具 举报

4

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2020-8-25
在线时间
25 小时
发表于 2020-9-2 11:42:20 | 显示全部楼层
楼主有stm32f407系列的串口程序没,求分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2020-7-21
在线时间
1 小时
发表于 2020-10-9 16:39:45 | 显示全部楼层
多谢优秀的楼主,已收藏
回复 支持 反对

使用道具 举报

5

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2020-5-8
在线时间
66 小时
发表于 2020-10-9 19:18:53 | 显示全部楼层
不错不错,很适合我这个菜鸟
回复 支持 反对

使用道具 举报

2

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2020-9-25
在线时间
54 小时
发表于 2021-7-6 15:59:28 | 显示全部楼层
参考一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 10:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表