打印
[牛人杂谈]

MS51操作TLC2543

[复制链接]
758|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
598330983|  楼主 | 2020-10-20 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用MS51读取TLC2543的A/D转换值


使用特权

评论回复
沙发
598330983|  楼主 | 2020-10-20 21:31 | 只看该作者
通过GPIO模拟TLC2543的读写时序,读取其A/D转换值:


使用特权

评论回复
板凳
598330983|  楼主 | 2020-10-20 21:32 | 只看该作者

使用特权

评论回复
地板
598330983|  楼主 | 2020-10-20 21:32 | 只看该作者
/**************************************************************************//**
* [url=home.php?mod=space&uid=288409]@file[/url]     tlc2543.c
* @brief
*           TLC2543 driver source file
*
* @note
* Copyright (C) 2019 Nuvoton Technology Corp. All rights reserved.
*****************************************************************************/

#include "MS51_16K.H"


/*---------------------------------------------------------------------------*/
/* Define                                                                    */
/*---------------------------------------------------------------------------*/
#define TLC2543_CS      P10 //TLC2543 chip select pin.
#define TLC2543_DOUT    P11 //TLC2543 data out pin.
#define TLC2543_DIN     P13 //TLC2543 data in pin.
#define TLC2543_CLK     P14 //TLC2543 clock pin.
#define TLC2543_EOC     P15 //TLC2543 end of conversion pin.


/*---------------------------------------------------------------------------*/
/* Functions                                                                 */
/*---------------------------------------------------------------------------*/
void TLC2543_Delay(void)
{
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
}


void TLC2543_Init(void)
{
    P10_PUSHPULL_MODE; //TLC2543 chip select pin.
    P11_INPUT_MODE;    //TLC2543 data out pin.
    P13_PUSHPULL_MODE; //TLC2543 data in pin.
    P14_PUSHPULL_MODE; //TLC2543 clock pin.
    P15_INPUT_MODE;    //TLC2543 end of conversion pin.

    TLC2543_CS = 1;
    TLC2543_DIN = 1;
    TLC2543_CLK = 0;
}


/**
  * [url=home.php?mod=space&uid=247401]@brief[/url] Read the conversion data of TLC2543.
  *
  * @param[in] u8Channel define the conversion channel, from 0~11.
  *
  * [url=home.php?mod=space&uid=266161]@return[/url]  The conversion data. It is the previous conversion data.
*/
uint16_t TLC2543_Read(uint8_t u8Channel)
{
    uint16_t u16DataOut = 0;
    uint16_t u16DataIn = 0;
    uint8_t i = 0;

    u16DataOut = ((uint16_t)u8Channel) << 12;

    TLC2543_CS = 0;

    for(i = 0; i < 12; i++)
    {
        TLC2543_CLK = 0;
        TLC2543_DIN = (bit)(u16DataOut & 0x8000);
        u16DataOut <<= 1;
        TLC2543_Delay();
        TLC2543_CLK = 1;
        u16DataIn <<= 1;
        if(TLC2543_DOUT == 1)
        {
            u16DataIn |= 0x01;
        }
        TLC2543_Delay();
    }

    TLC2543_CLK = 0;
    TLC2543_Delay();
    TLC2543_CS = 1;
    TLC2543_Delay();

    while(TLC2543_EOC == 0);

    return u16DataIn;
}

/*** (C) COPYRIGHT 2019 Nuvoton Technology Corp. ***/

使用特权

评论回复
5
598330983|  楼主 | 2020-10-20 21:33 | 只看该作者
EC_MS51_TLC2543_V1.00.zip (838.74 KB)

使用特权

评论回复
6
drer| | 2020-11-10 13:23 | 只看该作者
TLC2543是ad采集的芯片吗

使用特权

评论回复
7
gwsan| | 2020-11-10 13:24 | 只看该作者
有没有完整的工程呀

使用特权

评论回复
8
kxsi| | 2020-11-10 13:24 | 只看该作者
最大采样频率是多少

使用特权

评论回复
9
nawu| | 2020-11-10 13:25 | 只看该作者
这种芯片的电压基准有几种啊

使用特权

评论回复
10
qcliu| | 2020-11-10 13:26 | 只看该作者
采样结果稳定吗

使用特权

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

本版积分规则

246

主题

5384

帖子

22

粉丝