打印

求助 看不懂应广单片机SPI 程序

[复制链接]
1569|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuzhen836|  楼主 | 2018-8-22 14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
应广的IDE自动程序产生器出来的代码

发送接收程序我都能明白,就是用累加器移位然后输出CF。
关键是前面这个IO定义不太懂
有大神能讲讲吗

SPI_Out                        BIT        PB.2;
SPI_OutMode                BIT        _PBC.2;
SPI_In                        BIT        PB.3;
SPI_InMode                BIT        _PBC.3;
SPI_Clk                        BIT        PB.4;
SPI_ClkMode                BIT        _PBC.4;

static        void        SPI_Send (void)
{
        BYTE        cnt;
        BYTE        SPI_Data_Out;

        SPI_Data_Out        =        A;
        cnt        =        8;

        do
        {
                sl                SPI_Data_Out;
                nop;
                set0        SPI_Clk;
                .swapc_o SPI_Out;
                .delay        3;
                set1        SPI_Clk;
        } while (--cnt);
}

static        BYTE        SPI_Data_In;

static        void        SPI_Receive (void)
{
        BYTE        cnt;
        cnt        =        8;

        do
        {
                set0        SPI_Clk;
                .delay        4;
                set1        SPI_Clk;
                #if        _SYS(OP:SWAPC IO.N)
                        swapc        SPI_In;
                        slc                SPI_Data_In;
                #else
                        sl                SPI_Data_In;
                        if (SPI_In)        SPI_Data_In.0        =        1;
                #endif
        } while (--cnt);
}

相关帖子

沙发
dirtwillfly| | 2018-8-22 23:41 | 只看该作者
io定义没啥好讲的吧。这个mcu就是这样定义的
建议多翻翻对应的数据手册和编程手册

使用特权

评论回复
板凳
airwill| | 2018-8-23 07:20 | 只看该作者
自动程序产生器出来的代码
也还是蛮精练的嘛. 不过软件 SPI 接口, 在复杂的系统可能有些问题的

使用特权

评论回复
地板
liuzhen836|  楼主 | 2018-8-23 08:38 | 只看该作者
dirtwillfly 发表于 2018-8-22 23:41
io定义没啥好讲的吧。这个mcu就是这样定义的
建议多翻翻对应的数据手册和编程手册 ...

SPI_Out                        BIT        PB.2;
SPI_OutMode                BIT        _PBC.2;
SPI_In                        BIT        PB.3;
SPI_InMode                BIT        _PBC.3;

一个输出一个输入,为什么IO定义内容都一样呢

使用特权

评论回复
5
liuzhen836|  楼主 | 2018-8-23 08:43 | 只看该作者
airwill 发表于 2018-8-23 07:20
自动程序产生器出来的代码
也还是蛮精练的嘛. 不过软件 SPI 接口, 在复杂的系统可能有些问题的 ...

被控IC用的特殊形式的半双工SPI,所以只能写软SPI

使用特权

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

本版积分规则

3

主题

22

帖子

0

粉丝