Files
IM1253B/main.h

51 lines
1.3 KiB
C

#ifndef MAIN_H
#define MAIN_H
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/gpio.h"
#include "hardware/clocks.h"
#include "hardware/watchdog.h"
#include "pico/multicore.h"
#include "hardware/i2c.h"
#include "pico/binary_info.h"
#include "hardware/uart.h"
#include "hardware/pwm.h"
#include "hardware/adc.h"
#include "hardware/pio.h"
#define UART0 uart0
#define BAUD_RATE 4800
#define DATA_BITS 8
#define STOP_BITS 1
#define PARITY UART_PARITY_NONE
#define UART0_TX_PIN 1
#define UART0_RX_PIN 0
#include "uart_tx.pio.h"
#include "uart_rx.pio.h"
#define IM1253B_PIO pio0
#define IM1253B_PIO_TX_PIN 19 // 接 IM1253B (TX) PIN
#define IM1253B_PIO_RX_PIN 20 // 接 IM1253B (RX) PIN
#define IM1253B_PIO_SM_TX 0
#define IM1253B_PIO_SM_RX 1
#define IM1253B_PIO_SERIAL_BAUD 4800
int Read_ID = 0x01;
unsigned char Tx_Buffer[8];
unsigned char Rx_Buffer[40];
unsigned char read_enable, receive_finished, receive_number;
unsigned long Voltage_data, Current_data, Power_data, Energy_data, Pf_data, CO2_data, Temperature_data, Hz_data;
int sec;
unsigned int calccrc(unsigned char crcbuf, unsigned int crc);
unsigned int chkcrc(unsigned char *buf, unsigned char len);
void read_data(void);
void Analysis_data(void);
void Print_data(void);
static uint16_t IM1253B(void);
#endif