7#ifndef MCXA153_721B5DCB_2DC8_4E6C_B4E8_7DF3E15E63E2
8#define MCXA153_721B5DCB_2DC8_4E6C_B4E8_7DF3E15E63E2
16#include "./../core/CoreIIC.h"
187 virtual bool init(
void)
override;
508 int scanBus(uint16* deviceList,
int maxDevices);
599 bool transfer(uint16 address,
bool direction =
true);
620 void configureMaster(
void);
641 bool waitBusIdle(uint32 timeoutMs = 100);
664 void handleArbitrationLoss(
void);
MCXA153 I2C通訊控制器
Definition CoreIIC.h:78
Select
I2C控制器選擇枚舉
Definition CoreIIC.h:441
MCXA153 I2C主控制器
Definition CoreIICMaster.h:82
bool probeDevice(uint16 address)
檢查指定從設備地址是否存在
virtual void setClock(uint32 hz) override
設定I2C通訊時鐘頻率
virtual void interruptEvent(void) override
I2C主控制器中斷事件統一處理
virtual bool beginRead(uint16 address) override
開始讀取操作
bool recoverBus(void)
執行I2C匯流排恢復操作
virtual void onBusBusyEvent(int queueRemainingCount) override
匯流排忙碌錯誤事件回調
virtual uint32 getClock(void) override
取得目前I2C通訊時鐘頻率
virtual ~CoreIICMaster(void) override
解構I2C主控制器物件
bool transfer(uint16 address, bool direction=true)
執行I2C傳輸操作
void masterReset(void)
重設主控制器狀態
int scanBus(uint16 *deviceList, int maxDevices)
掃描I2C匯流排上的所有設備
virtual hal::serial::IIC & getIIC(void) override
取得I2C基礎介面參考
hal::serial::IICMaster::EventError * vEventError
錯誤事件處理器指標
Definition CoreIICMaster.h:110
virtual void onNanAcknowledgeEvent(int queueRemainingCount) override
NAK應答錯誤事件回調
CoreIICMaster(CoreIIC::Select select, const mcxa153::core::CoreDescriptor *descriptor=nullptr)
建構I2C主控制器物件
virtual bool abort(void) override
中止I2C操作
virtual bool init(void) override
初始化I2C主控制器
virtual bool beginWrite(uint16 address) override
開始寫入操作
virtual void setEventError(hal::serial::IICMaster::EventError *event=nullptr) override
設定錯誤事件處理器
virtual bool isBusy(void) override
檢查主控制器忙碌狀態
Definition glikey/Mask.h:22
[Interface] IIC基礎介面
Definition IIC.h:38
[Interface] IIC錯誤事件處理器
Definition IICMaster.h:156
[Interface] IIC主端設備介面
Definition IICMaster.h:39
Definition CoreDescriptor.h:31