更新:网口连接成功(巨石加密有影响,无锡智能加密不受影响)

This commit is contained in:
吴俊潮 2025-03-28 09:12:05 +08:00
parent 008da09869
commit ea0dac3a2e
7 changed files with 1549 additions and 3634 deletions

View File

@ -3,7 +3,8 @@
"files.associations": { "files.associations": {
"provalctrl.h": "c", "provalctrl.h": "c",
"timer.h": "c", "timer.h": "c",
"mf5803.h": "c" "mf5803.h": "c",
"eeprom.h": "c"
}, },
"C_Cpp_Runner.cCompilerPath": "gcc", "C_Cpp_Runner.cCompilerPath": "gcc",
"C_Cpp_Runner.cppCompilerPath": "g++", "C_Cpp_Runner.cppCompilerPath": "g++",

View File

@ -56,7 +56,7 @@
/* USER CODE BEGIN PV */ /* USER CODE BEGIN PV */
/* 本地网络信息IP地址、网关地址、子网掩码和端口号 */ /* 本地网络信息IP地址、网关地址、子网掩码和端口号 */
uint8_t ch395_addr[14] = {192,168,114,194,192,168,114,110,255,255,255,0,31,144}; uint8_t ch395_addr[14] = {192,168,111,194,192,168,111,110,255,255,255,0,31,144};
/* USER CODE END PV */ /* USER CODE END PV */
@ -126,6 +126,12 @@ int main(void)
ee_io_init(); ee_io_init();
prov_init(); //比例阀初始化 prov_init(); //比例阀初始化
ee_readbytes(ch395_addr,0,14);
for(int n = 0;n < 12;n++)
{
HoldReg[40 + n] = ch395_addr[n];
}
HoldReg[52] = ch395_addr[12] << 8 | ch395_addr[13];
ch395_hardware_init(); //ch395硬件初始化 ch395_hardware_init(); //ch395硬件初始化
ch395_init(); //以太网初始化 ch395_init(); //以太网初始化

View File

@ -120,7 +120,7 @@
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>DLGUARM</Key> <Key>DLGUARM</Key>
<Name>d</Name> <Name></Name>
</SetRegEntry> </SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
@ -150,7 +150,7 @@
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key> <Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U53FF6B064884525650271587 -O2254 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name> <Name>-U53FF6B064884525650271587 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint/>
@ -261,7 +261,7 @@
<EnableFlashSeq>0</EnableFlashSeq> <EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog> <EnableLog>0</EnableLog>
<Protocol>2</Protocol> <Protocol>2</Protocol>
<DbgClock>4000000</DbgClock> <DbgClock>1800000</DbgClock>
</DebugDescription> </DebugDescription>
</TargetOption> </TargetOption>
</Target> </Target>

View File

@ -10,7 +10,7 @@
<TargetName>VOQC</TargetName> <TargetName>VOQC</TargetName>
<ToolsetNumber>0x4</ToolsetNumber> <ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<pArmCC>5060960::V5.06 update 7 (build 960)::.\ARM Compiler_5_06</pArmCC> <pArmCC>5060960::V5.06 update 7 (build 960)::.\ARMCC</pArmCC>
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed> <pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
<uAC6>0</uAC6> <uAC6>0</uAC6>
<TargetOption> <TargetOption>

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +1,28 @@
/*
* @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-08-30 13:18:55
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-03-28 09:07:40
* @FilePath: \acdt\board\Inc\eeprom.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __EEPROM_H #ifndef __EEPROM_H
#define __EEPROM_H #define __EEPROM_H
#include "main.h" #include "main.h"
#define EE_MODEL_NAME "M24C64" #define EE_MODEL_NAME "M24C64"
#define EE_DEV_ADDR 0xA0 /* 设备地址 */ #define EE_DEV_ADDR 0xA0 /* 设备地址 */
#define EE_PAGE_SIZE 32 /* 页面大小(字节) */ #define EE_PAGE_SIZE 32 /* 页面大小(字节) */
#define EE_SIZE (8*1024) /* 总容量(字节) */ #define EE_SIZE (8*1024) /* 总容量(字节) */
#define EE_ADDR_BYTES 2 /* 地址字节个数 */ #define EE_ADDR_BYTES 2 /* 地址字节个数 */
#define EEPROM_WriteAddress1 0x00 #define EEPROM_WriteAddress1 0x00
#define EEPROM_ReadAddress1 0x00 #define EEPROM_ReadAddress1 0x00
#define BufferSize1 sizeof(Tx1_Buffer) #define BufferSize1 sizeof(Tx1_Buffer)
#define PRO1_ADDR EEPROM_WriteAddress1 #define PRO1_ADDR EEPROM_WriteAddress1 + 32
#define PRO2_ADDR EEPROM_WriteAddress1 + 12 #define PRO2_ADDR PRO1_ADDR + 12
extern uint8_t Tx1_Buffer[]; extern uint8_t Tx1_Buffer[];
extern uint8_t Rx1_Buffer[]; extern uint8_t Rx1_Buffer[];
@ -22,20 +30,20 @@ extern uint8_t Rx1_Buffer[];
#define I2C_WR 0 #define I2C_WR 0
#define I2C_RD 1 #define I2C_RD 1
// 定义I2C总线连接的GPIO端口, 用户只需要修改下面3行代码即可任意改变SCL和SDA的引脚 // 定义I2C总线连接的GPIO端口, 用户只需要修改下面3行代码即可任意改变SCL和SDA的引脚
#define GPIO_PORT_I2C GPIOB // GPIO端口 #define GPIO_PORT_I2C GPIOB // GPIO端口
#define I2C_SCL_PIN GPIO_PIN_6 // 连接到SCL时钟线的GPIO #define I2C_SCL_PIN GPIO_PIN_6 // 连接到SCL时钟线的GPIO
#define I2C_SDA_PIN GPIO_PIN_7 // 连接到SDA数据线的GPIO #define I2C_SDA_PIN GPIO_PIN_7 // 连接到SDA数据线的GPIO
/* 定义读写SCL和SDA的宏 */ /* 定义读写SCL和SDA的宏 */
#define I2C_SCL_1() GPIO_PORT_I2C->BSRR = I2C_SCL_PIN // SCL = 1 #define I2C_SCL_1() GPIO_PORT_I2C->BSRR = I2C_SCL_PIN // SCL = 1
#define I2C_SCL_0() GPIO_PORT_I2C->BSRR = (uint32_t)I2C_SCL_PIN << 16U // SCL = 0 #define I2C_SCL_0() GPIO_PORT_I2C->BSRR = (uint32_t)I2C_SCL_PIN << 16U // SCL = 0
#define I2C_SDA_1() GPIO_PORT_I2C->BSRR = I2C_SDA_PIN // SDA = 1 #define I2C_SDA_1() GPIO_PORT_I2C->BSRR = I2C_SDA_PIN // SDA = 1
#define I2C_SDA_0() GPIO_PORT_I2C->BSRR = (uint32_t)I2C_SDA_PIN << 16U // SDA = 0 #define I2C_SDA_0() GPIO_PORT_I2C->BSRR = (uint32_t)I2C_SDA_PIN << 16U // SDA = 0
#define I2C_SDA_READ() (GPIO_PORT_I2C->IDR & I2C_SDA_PIN) // 读SDA口线状态 #define I2C_SDA_READ() (GPIO_PORT_I2C->IDR & I2C_SDA_PIN) // 读SDA口线状态
#define I2C_SCL_READ() (GPIO_PORT_I2C->IDR & I2C_SCL_PIN) // 读SCL口线状态 #define I2C_SCL_READ() (GPIO_PORT_I2C->IDR & I2C_SCL_PIN) // 读SCL口线状态
void ee_io_init(void); void ee_io_init(void);

View File

@ -1,32 +1,32 @@
#include "hc165.h" #include "hc165.h"
//初始化74hc165 //初始化74hc165
void _74hc165_init(void) void _74hc165_init(void)
{ {
HC165_LD(1); //LD拉高不读取按键状态 HC165_LD(1); //LD拉高不读取按键状态
HC165_CLK(1); //时钟拉高,便于产生上升沿 HC165_CLK(1); //时钟拉高,便于产生上升沿
} }
//读取74HC165 //读取74HC165
uint16_t _74hc165_read_byte(void) uint16_t _74hc165_read_byte(void)
{ {
unsigned char i; unsigned char i;
unsigned int temp = 0; unsigned int temp = 0;
HC165_LD(0); //LD拉低读取按键状态 HC165_LD(0); //LD拉低读取按键状态
delay_us(1); delay_us(1);
HC165_LD(1); //LD拉高停止按键读取 HC165_LD(1); //LD拉高停止按键读取
delay_us(1); delay_us(1);
if(HC165_DAT == 1) //等于1即并行输入D7引脚的按键被按下 if(HC165_DAT == 1) //等于1即并行输入D7引脚的按键被按下
{ {
temp |= 0x01; //最低位置1表示按键被按下反之则没按键被按下 temp |= 0x01; //最低位置1表示按键被按下反之则没按键被按下
} }
for(i = 0; i < 15; i ++) //因为最高位不用移位即可读取,故循环(8-1)次依次把次高位移到最高位第一级74HC165优先读取 for(i = 0; i < 15; i ++) //因为最高位不用移位即可读取,故循环(8-1)次依次把次高位移到最高位第一级74HC165优先读取
{ {
temp = temp << 1; temp = temp << 1;
HC165_CLK(0); //HC165_CLK = 0 ——> HC165_CLK = 1 产生上升沿次高位D(n-1)移到高位D(n) HC165_CLK(0); //HC165_CLK = 0 ——> HC165_CLK = 1 产生上升沿次高位D(n-1)移到高位D(n)
delay_us(1); delay_us(1);
HC165_CLK(1); HC165_CLK(1);
// delay_us(1); // delay_us(1);