通用的spi通信函数和串口通信函数,怎么写好些?

[复制链接]
2769|25
 楼主| candysnape 发表于 2016-1-7 08:48 | 显示全部楼层 |阅读模式
如题,现在用的单片机要同时使用2路spi通信和4路串口通信。
想写一个通用点儿的底层函数,就是无论使用哪路SPI,都调用同一个SPI.h头文件,不知道大神们有什么好的经验或思路么?

现在想到的实现方式大概有三种:
1、通过宏编译实现。
    这条昨天试过了,好像思路有问题,总之没办法实现
2、SPI.h文件中根据不同的接口有不同的函数,如SPI0_init(); SPI2_INIT();等等这样
    缺点是调用起来比较复杂,而且后期如果更改接口,要把所有用到的函数都挑出来改一遍
3、SPI接口函数中加一个指向路数的参数。如SPI_init(0);
    缺点是所有相关的子函数中都要进行判断

能想到的基本就是这些,不知道论坛的大神有没有更好的思路能提点一下,多谢多谢啦~
dirtwillfly 发表于 2016-1-7 09:37 | 显示全部楼层
参考官方提供的一些库函数吧
dirtwillfly 发表于 2016-1-7 09:37 | 显示全部楼层
你用的什么单片机?
 楼主| candysnape 发表于 2016-1-7 09:39 | 显示全部楼层
dirtwillfly 发表于 2016-1-7 09:37
你用的什么单片机?

msp430f5438A
dirtwillfly 发表于 2016-1-7 09:42 | 显示全部楼层

这个系列,ti有提供库函数的
dirtwillfly 发表于 2016-1-7 09:43 | 显示全部楼层
 楼主| candysnape 发表于 2016-1-7 10:04 | 显示全部楼层
dirtwillfly 发表于 2016-1-7 09:43
http://dev.ti.com/tirex/#/?link=MSPWare%2FLibraries%2FDriver%20Library%2FMSP430F5xx_6xx

谢谢大神~
 楼主| candysnape 发表于 2016-1-8 13:23 | 显示全部楼层
dirtwillfly 发表于 2016-1-7 09:43
http://dev.ti.com/tirex/#/?link=MSPWare%2FLibraries%2FDriver%20Library%2FMSP430F5xx_6xx

十分感谢大神,但是说实话真没太看懂,
昨天下午和今天上午看了好久才刚弄明白系统时钟怎么配,还是得多多学习呀
dirtwillfly 发表于 2016-1-8 13:50 | 显示全部楼层
candysnape 发表于 2016-1-8 13:23
十分感谢大神,但是说实话真没太看懂,
昨天下午和今天上午看了好久才刚弄明白系统时钟怎么配,还 ...

加油。有问题可以来论坛交流
 楼主| candysnape 发表于 2016-1-8 14:20 | 显示全部楼层
dirtwillfly 发表于 2016-1-8 13:50
加油。有问题可以来论坛交流

嗯呢,谢谢啦
Ryze 发表于 2016-1-8 16:23 | 显示全部楼层
想写一个通用点儿的底层函数,就是无论使用哪路SPI,都调用同一个SPI.h头文件

没理解啊,IO口不一样怎么通用
Snow7 发表于 2016-1-8 22:22 | 显示全部楼层
可以在官网上找例程参考
 楼主| candysnape 发表于 2016-1-11 11:17 | 显示全部楼层
Snow7 发表于 2016-1-8 22:22
可以在官网上找例程参考

恩恩 谢谢
 楼主| candysnape 发表于 2016-1-11 11:18 | 显示全部楼层
Ryze 发表于 2016-1-8 16:23
没理解啊,IO口不一样怎么通用

因为归根结底其实就是UCxCTL0这几个寄存器名称不一样,程序内容上区别不算太大。
dirtwillfly 发表于 2016-1-11 14:54 | 显示全部楼层
candysnape 发表于 2016-1-11 11:18
因为归根结底其实就是UCxCTL0这几个寄存器名称不一样,程序内容上区别不算太大。
...

对的
cemaj 发表于 2016-1-11 22:11 | 显示全部楼层
不同单片机不一样。
cemaj 发表于 2016-1-11 22:12 | 显示全部楼层
配置好了寄存器就可以了。
kinarethy 发表于 2016-1-18 19:39 | 显示全部楼层
可以参考stm32库函数设计,灵活运用结构体
Garen2 发表于 2016-1-19 22:18 | 显示全部楼层
晶振对应的引脚可能不一样怎么通用
smilingangel 发表于 2016-1-20 21:56 | 显示全部楼层
用的最多的还是串口通讯的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:阡

13

主题

948

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部