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

[复制链接]
楼主: xlhtracy
| 2015-3-26 09:10 | 显示全部楼层
这里的库函数使用的基本原则还是很不错的,简单容易理解的参数表达方式,对于新手上手很方便去理解,如果可以再有辅助注释就更牛了,重要的还是需要去多理解, 如果在简单上多动点脑筋, 比如又容易懂又容易标记就更好了, 毕竟参数代码需要快速编写。
| 2015-3-26 09:50 | 显示全部楼层
我是小白,没图只有文字,我理解起来太费劲。
| 2015-3-26 09:58 | 显示全部楼层
第三世界 发表于 2015-3-26 09:10
这里的库函数使用的基本原则还是很不错的,简单容易理解的参数表达方式,对于新手上手很方便去理解,如果可以 ...

开发IDE,CCStudio已经考虑到了这输入问题,可以开启联想输入功能,你只需要敲入前几个字母,后面弹出相关函数表,很容易输入长句子,并给出有多少参数可以输入,就和那个Excel编辑函数一样。
| 2015-3-26 09:58 | 显示全部楼层
波板糖 发表于 2015-3-26 09:50
我是小白,没图只有文字,我理解起来太费劲。

后面我尽量制作图片,帮助大家更好的理解。
| 2015-3-26 10:00 | 显示全部楼层
112207301219 发表于 2015-3-26 01:37
刚刚看了一下库函数的头文件定义以及在c文件中的调用,PA和P1的偏移地址是一样的,并且根据宏定义似乎无法 ...

字宽度和字节宽度不同,通过这个实现的,因为在内存中他们是连续的,且高位在前,低位在后。如果定义一个16bits宽度的字,那么就等于两个连续的8bits字节。
| 2015-3-26 12:28 | 显示全部楼层
请问,这个芯片是大端还是小端?如果定义一个union,struct,数据在内存里是怎么分配的呢
| 2015-3-26 13:25 | 显示全部楼层
请教大神们     CCS6.1 wen64能用吗?
| 2015-3-26 13:28 | 显示全部楼层
dirtwillfly 发表于 2015-3-24 22:39
这个和io的结构有关。
总的来说,51单片机io的寄存器更少,功能选择也更少 ...

这的确可作为一个理由,51的引脚功能复用的确不多。仅仅一个IO之外的第二功能。
| 2015-3-26 16:24 | 显示全部楼层
gaoyang9992006 发表于 2015-3-25 08:24
不过后面MSP430也会陆续推出新产品的,内部结构会更加复杂,因为要加入新的功能。所以学会库函数,为以后 ...

个人认为,从简单稍微低端的新品容易上手,好比学会乘法口诀再去学更高位乘除法。这样一路下来,MSP430其他高端系列学习掌握姐妹那么复杂了。
| 2015-3-26 16:33 | 显示全部楼层
ilikerome 发表于 2015-3-25 21:37
同感,库函数接口容易变动。。。

用库函数形式是为了后续复杂系列奠定基础,当然楼主在开篇的时候已经讲到了利弊。
| 2015-3-26 16:34 | 显示全部楼层
lzllhr 发表于 2015-3-25 22:20
不错。但是
1.iar什么版本支持这款单片机
2.有库函数手册吗

i系列的还不清楚,G系列的有支持
| 2015-3-26 19:55 | 显示全部楼层
anvy178 发表于 2015-3-25 16:56
GPIO的功能选择  的 外围模块功能(就是最后一个功能)   是一个什么样的功能啊 ?   能具体出来吗?这样说 ...

数据手册里有一个表,IO口的复用
| 2015-3-26 20:05 | 显示全部楼层
anvy178 发表于 2015-3-25 16:56
GPIO的功能选择  的 外围模块功能(就是最后一个功能)   是一个什么样的功能啊 ?   能具体出来吗?这样说 ...

部分截图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
| 2015-3-26 20:07 | 显示全部楼层
我们在路上 发表于 2015-3-26 13:25
请教大神们     CCS6.1 wen64能用吗?

可以,我就是,安装比32位慢
| 2015-3-26 20:57 | 显示全部楼层
波板糖 发表于 2015-3-26 16:34
i系列的还不清楚,G系列的有支持

我查看了下iar for msp430 v5.5,没有这款芯片
| 2015-3-26 21:50 | 显示全部楼层
本帖最后由 hanzhenfei 于 2015-3-26 21:52 编辑

很好的帖子
| 2015-3-26 22:28 | 显示全部楼层
讲的是太详细了
这款单片机省电吗?
稳定性有没有测试?
| 2015-3-26 23:59 | 显示全部楼层
往后可以说说IAR的吗
| 2015-3-27 15:17 | 显示全部楼层
gaoyang9992006 发表于 2015-3-26 10:00
字宽度和字节宽度不同,通过这个实现的,因为在内存中他们是连续的,且高位在前,低位在后。如果定义一个 ...

程序中那个地方用来区分字寻址和字节寻址的呢?我没找到。能否指出来?谢了。
| 2015-3-27 15:36 | 显示全部楼层
void GPIO_interruptEdgeSelect(uint8_t selectedPort,
                              uint16_t selectedPins,
                              uint8_t edgeSelect) {
    uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];

    #ifndef NDEBUG
    if(baseAddress == 0xFFFF)
    {
        return;
    }
    #endif

    // Shift by 8 if port is even (upper 8-bits)
    if((selectedPort & 1) ^ 1)
    {
        selectedPins <<= 8;
    }

    if(GPIO_LOW_TO_HIGH_TRANSITION == edgeSelect)
    {
        HWREG16(baseAddress + OFS_PAIES) &= ~selectedPins;
    }
    else
    {
        HWREG16(baseAddress + OFS_PAIES) |= selectedPins;
    }
}
那个地方是区分字节和字节的啊
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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