在线时间0 小时
UID383682
注册时间2012-8-28
NXP金币0
该用户从未签到
新手上路

- 积分
- 70
- 最后登录
- 1970-1-1
|
收到开发板都有许多天了, 让我怪不好意思的是由于这段时间比较忙,准备找实习的关系等,迟迟未发表帖子,有些许压力感! 既然有幸获得这么好的板子,也必须做一些表示,中秋&国庆长假,没回家了,就认真学习一些东西,还有准备一下实习的事情,就算是假积极也好吧,哈哈````下面我大概两部分说说,可能说得有点乱,或者不完全在说K10核心版的学习````有不妥之处,希望多多原谅````
先说说整体感觉,核心版配套的资料非常齐全,让我们对其可以进行很好的学习。相信用K10制作智能车是非常合适的,而且资料的指导性也很好,如PDF文件“请先看我”里面先对核心版的硬件及开发环境做了介绍,然后对整体引脚的功能做了建议分配,如下图所示
这对于用此芯片做智能车的人来说无疑是指路明灯啊`````锁定了各引脚功能分配,便可进行对于功能模块学习,进而制作智能车控制的整个系统。
以前制作智能车的时候,队友编写程序框架的时候说,K10核心版资料非常有参考价值,框架都非常分明,模块化清晰,后来我在那学习过程中深深的中毒了,对于每款单片机的工程文件,都希望清晰地呈现每一个模块,封装好各个source文件。如下面框架图
这样对于封装好的模块,只要调用相应的库函数,就可以方便而且直观的编程程序了,因此不得不说,做各个模块的封装工作确实很累的,好多寄存器设置,又要人性化的实现调用的方便性。这也是值得学习的地方````下面举个小例子,参考K10的gpio.c文件,编写了msp430F149跟msp430F169的gpio.c的文件。虽然我对于msp430的IO功能的寄存器设置没有k10那样系统,主要参考K10调用接口还有查阅MSP30相关手册做出来的````也希望自己能往更深的地方学习,提高对各个底层的驱动的编写封装的能力
我的msp430的gpio.c程序
//-------------------------------------------------------------------------*
// 文件名: gpio.c *
// 说 明: 参考K10程序修改
// 先初始化对应的引脚gpio_init,即可操作gpio_ctrl控制输出 或者gpio_reverse翻转
// 和GPIO_Get状态获取等
//-------------------------------------------------------------------------*
#include "msp430x14x.h"
#include "gpio.h"
//-------------------------------------------------------------------------*
//函数名: gpio_init *
//功 能: 初始化gpio *
//参 数: port:端口名 *
// index:指定端口引脚 *
// p_set :功能选择;0=普通I/O,1=外围模块功能 *
// dir:引脚方向,0=输入,1=输出 *
// data:初始状态,0=低电平,1=高电平 *
//返 回: 无 *
//说 明: 无 *
//-------------------------------------------------------------------------*
uchar const IO[8]={BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7};
<span style="font-size: large">void gpio_init (uchar port, uchar p_set, uchar index, uchar dir,uchar data)
{
if(port==1)
{
if(p_set==1)
P1SEL|=IO[index];//设置为外围模块功能
else
P1SEL &=~(1
|
-
-
|