| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef __1W_EC20
- #define __1W_EC20
- #include "one_wire.h"
- #include <string.h>
- #define DS28EC20_FAMILY_CODE 0x43
- #define CMD_WRITE_SCRATCHPAD 0x0F
- #define CMD_READ_SCRATCHPAD 0xAA
- #define CMD_COPY_SCRATCHPAD 0x55
- #define CMD_READ_MEMORY 0xF0
- #define CMD_EXTENDED_READ_MEMORY 0xA5
- #define REG_MEMORY_BLOCK_LOCK 0xA1E
- #define REG_REGISTER_PAGE_LOCK 0xA1F
- #define WRITE_PROTECTION 0x55
- #define EPROM_MODE 0xAA
- #define PAGE_SIZE 0x20
- #define NUM_OF_PAGES 0x50
- #define MEM_SIZE (PAGE_SIZE * NUM_OF_PAGES)
- typedef struct _onewire_ec20_{
- uint8_t buffer_rx[32];
- uint8_t buffer_tx[32];
- uint8_t real_size;
- uint8_t ROM[8];
- }OneWire_EC20_typeDef;
- uint8_t DS28EC20_init(void* GPIOx, uint16_t GPIO_Pin);
- void DS28EC20_readMem(uint16_t,uint8_t);
- uint8_t DS28EC20_writeMem(uint16_t ,uint8_t);
- uint32_t DS28EC20_readData4B(uint16_t);
- uint16_t DS28EC20_readData2B(uint16_t address);
- uint8_t DS28EC20_readData1B(uint16_t address);
- uint8_t DS28EC20_writeData(uint8_t*, uint16_t, uint8_t);
- uint8_t DS28EC20_getId(uint8_t*);
- uint32_t DS28EC20_getCapacity(void);
- #endif
|