打印
[MCU]

【MSP430i2xx教程第一讲】怎样使用库函数 & GPIO详解

[复制链接]
楼主: xlhtracy
手机看帖
扫描二维码
随时随地手机跟帖
61
楼主没哟设置成仅作者可见,不然会出现照抄的嫌疑啊。

使用特权

评论回复
62
songchenping| | 2015-3-25 13:47 | 只看该作者
利用最原始的方法回答问题。

使用特权

评论回复
63
董自祝| | 2015-3-25 14:04 | 只看该作者
谢谢楼主,您辛苦了!我在着手学习430呢!赞赞赞

使用特权

评论回复
64
xlhtracy|  楼主 | 2015-3-25 14:25 | 只看该作者
songchenping 发表于 2015-3-25 13:37
楼主没哟设置成仅作者可见,不然会出现照抄的嫌疑啊。

教程是作者授权偶发布的,为了方便大家学习讨论,就不做过多限制啦  

使用特权

评论回复
65
anvy178| | 2015-3-25 15:50 | 只看该作者
xlhtracy 发表于 2015-3-24 10:19
2.3  例程下面简单的例程用于展示如何使用GPIO API。// 把P1.0设置为输出端口GPIO_setAsOutputPin (GPIO_PO ...

问一下  CCS 需要注册码使用的吗?

使用特权

评论回复
66
anvy178| | 2015-3-25 16:56 | 只看该作者
GPIO的功能选择  的 外围模块功能(就是最后一个功能)   是一个什么样的功能啊 ?   能具体出来吗?这样说 太抽象了

使用特权

评论回复
67
anvy178| | 2015-3-25 17:43 | 只看该作者
本帖最后由 anvy178 于 2015-3-25 19:04 编辑

1.  2.0版本的库函数  好像并不存在 所提的 问题一   好像参量全部统一了   我对比了下头文件 ,还有那个函数的名称也改变了 。 看手册的 库函数的 寄存器手册 ,只有p1 ,p2端口存在独立的中断功能,独立的中断参数。所以,如果函数没封装好的话,会导致问题一的出现 。但是 我看了下 代码 ,发现其实除了1 2口 有定义地址之外   其它 的参数 应该都是返回0xffff的  ,好像没什么意义。
2.   p1 ,p2 假如这两个按照字来操作的话 ,从库函数 selectedPins <<= 8;可以看出    加入是 p1 p2结合操作的话 就是P2 在前。位并没有进行变动 ,那么就还是高位在前。
3.对于出东西来说  ,肯定是库函数 有优势,但是 就是相对于学习来说 ,从库函数入手  ,然后再到 底层 去看一下  学习一下 别人的做法 也未尝不是一件
好事  ,可能库函数对于某些操作比较频繁的东西 有锁欠缺,但是可以说 是 学习的 好帮手,出产品的利刃啊 。


使用特权

评论回复
68
112207301219| | 2015-3-25 19:39 | 只看该作者

同求iar教程,一直用的iar,学起来比较容易上手.

使用特权

评论回复
69
294479435| | 2015-3-25 20:15 | 只看该作者
试了下第三个题,感觉比ARM的库函数简单,另外不知道这个的寄存器使用和中断服务函数,所以写的程序不一定正确,给大家交流交流哈

LED.rar

632 Bytes

使用特权

评论回复
70
112207301219| | 2015-3-25 21:12 | 只看该作者
xlhtracy 发表于 2015-3-24 10:57
2.5  问题提出1.为什么关于中断边沿选择的函数GPIO_interruptEdgeSelect()的参数selectedPort可以有18个量 ...

刚刚看了一下库函数,在2.0的库里没找到GPIO_interruptEdgeSelect().
后来发现,DriverLib1.97版里面是GPIO_interruptEdgeSelect(),DriverLib2.0版里面是GPIO_selectInterruptEdge().怎么库升级把函数名都变了啊?这岂不是给程序的移植制造麻烦吗?你觉得有必要吗?

使用特权

评论回复
71
ilikerome| | 2015-3-25 21:34 | 只看该作者
PDF档看起来更舒服。

使用特权

评论回复
72
ilikerome| | 2015-3-25 21:36 | 只看该作者
3qxj 发表于 2015-3-24 19:09
"断言"说的是"断点"吧?

断言是assert

使用特权

评论回复
73
ilikerome| | 2015-3-25 21:37 | 只看该作者
胡斯哲 发表于 2015-3-24 20:34
用库函数太复杂了点,觉得还是用寄存器好些

同感,库函数接口容易变动。。。

使用特权

评论回复
74
ilikerome| | 2015-3-25 21:40 | 只看该作者
gaoyang9992006 发表于 2015-3-25 08:21
是的,MSP430凭借独特的低功耗特性完胜手持设备,电池供电设备以及太阳能供电设备的其他主控MCU应用,低 ...

MSP430FRxxx

我在官网申请,客服说我现在的公司涉及军品,取消了。郁闷。

手上也没板子。

使用特权

评论回复
75
lzllhr| | 2015-3-25 22:20 | 只看该作者
不错。但是
1.iar什么版本支持这款单片机
2.有库函数手册吗
3.硬件平台如何获得

使用特权

评论回复
76
112207301219| | 2015-3-25 22:55 | 只看该作者
xlhtracy 发表于 2015-3-24 10:57
2.5  问题提出1.为什么关于中断边沿选择的函数GPIO_interruptEdgeSelect()的参数selectedPort可以有18个量 ...

手册里讲端口中断时,只提到了P1和P2有中断功能(详见手册158页),不过后面补充说有些器件可能会有除这两个口以外的端口有中断功能.我想按手册上的意思应该这个系列只有这两个口有中断功能吧.手册里没有提到PA,可能PA就是所谓的“有些器件”,至于GPIO_interruptEdgeSelect()有18个量可以选,应该是有些问题的。

使用特权

评论回复
77
112207301219| | 2015-3-26 01:37 | 只看该作者
xlhtracy 发表于 2015-3-24 10:57
2.5  问题提出1.为什么关于中断边沿选择的函数GPIO_interruptEdgeSelect()的参数selectedPort可以有18个量 ...

刚刚看了一下库函数的头文件定义以及在c文件中的调用,PA和P1的偏移地址是一样的,并且根据宏定义似乎无法判断PA和P1的区别。那PA是如何表示P1与P2的合呢?我还没弄明白。

使用特权

评论回复
78
112207301219| | 2015-3-26 01:40 | 只看该作者
xlhtracy 发表于 2015-3-24 10:57
2.5  问题提出1.为什么关于中断边沿选择的函数GPIO_interruptEdgeSelect()的参数selectedPort可以有18个量 ...

这里给出的库函数在用来对单个引脚操作时没有直接操作寄存器方便,在按字或者字节读写数据时非常方便。

使用特权

评论回复
79
第三世界| | 2015-3-26 09:10 | 只看该作者
这里的库函数使用的基本原则还是很不错的,简单容易理解的参数表达方式,对于新手上手很方便去理解,如果可以再有辅助注释就更牛了,重要的还是需要去多理解, 如果在简单上多动点脑筋, 比如又容易懂又容易标记就更好了, 毕竟参数代码需要快速编写。

使用特权

评论回复
80
波板糖| | 2015-3-26 09:50 | 只看该作者
我是小白,没图只有文字,我理解起来太费劲。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则