杰发科技AC7801——使用EEP写版本号和日期

ops/2024/10/18 12:21:54/

代码仅作为示例

各位看官自己优化即可

#include <stdlib.h>
#include "ac780x_sweeprom.h"uint32_t g_testReadA[10] = {0};
unsigned char g_version[50] = "V3.1_"__DATE__"_"__TIME__;
unsigned int g_Write[2] = {0};
unsigned int g_test1 = 0;
unsigned int g_test2 = 0;
unsigned int g_test3 = 0;
unsigned int g_test4 = 0;
/*** @brief main function** @param[in] none* @return none*/
int main(void)
{InitDelay();SWEEPROM_Init(512, 31);EFLASH_UnlockCtrl();SWEEPROM_Read(0, (uint16_t *)g_testReadA, 1);if (g_testReadA[0] == 0xffff){g_test1 = g_version[0] & 0x00ff;g_test2 = (g_version[1] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(0, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[2] & 0x00ff;g_test2 = (g_version[3] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(1, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[4] & 0x00ff;g_test2 = (g_version[5] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(2, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[6] & 0x00ff;g_test2 = (g_version[7] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(3, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[8] & 0x00ff;g_test2 = (g_version[9] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(4, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[10] & 0x00ff;g_test2 = (g_version[11] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(5, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[12] & 0x00ff;g_test2 = (g_version[13] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(6, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[14] & 0x00ff;g_test2 = (g_version[15] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(7, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[16] & 0x00ff;g_test2 = (g_version[7] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(8, (uint16_t *)&g_Write[0], 1);g_test1 = g_version[18] & 0x00ff;g_test2 = (g_version[19] << 8) & 0xff00;g_Write[0] = g_test1 + g_test2;SWEEPROM_Write(9, (uint16_t *)&g_Write[0], 1);}while (1){int a = 0;}
}


http://www.ppmy.cn/ops/122465.html

相关文章

webGL入门(六)图形旋转

效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…

oracle解决关联查询报invalid number问题

出现问题的原因和背景 oracle进行关联查询的时候因为字段存在多个用逗号切割的id&#xff0c;导致查询的过程中报无效数字或非法数字 问题复现 新建表A CREATE TABLE "A" (id NUMBER NOT NULL,name VARCHAR2(255 BYTE) )INSERT INTO "A" VALUES (1, 上海…

CGLib动态代理和JDK动态代理Demo、ASM技术尝鲜

本文主要介绍CGLib和JDK动态代理的使用&#xff0c;不对源码进行深入分析。代码可直接复制使用。 类型 机制 回调方式 适用场景 效率 JDK动态代理 委托机制。代理类和目标类都实现了同样的接口。InvocationHandler持有目标类。代理类委托InvocationHandler去调用目标类原…

VGG16模型实现MNIST图像分类

MNIST图像数据集 MNIST&#xff08;Modified National Institute of Standards and Technology&#xff09;是一个经典的机器学习数据集&#xff0c;常用于训练和测试图像处理和机器学习算法&#xff0c;特别是在数字识别领域。该数据集包含了大约 7 万张手写数字图片&#xf…

k8s搭建双主的mysql8集群---无坑

《k8s搭建一主三从的mysql8集群---无坑-CSDN博客》通过搭建一主三从&#xff0c;我们能理解到主节点只有1个&#xff0c;那么承担增删改主要还是主节点&#xff0c;如果你在从节点上去操作增删改操作&#xff0c;数据不会同步到其他节点。本章我们将实现多主&#xff08;双主&a…

【艾思科蓝】Vue.js组件开发实战:从零构建高效可复用组件

【IEEE出版 | 会后3-4个月EI检索】第三届云计算、大数据应用与软件工程国际学术会议 (CBASE 2024&#xff09;_艾思科蓝_学术一站式服务平台 更多学术会议请看&#xff1a;学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言 一、Vue.js 组件开发基础 二、构建高效可…

一个简单的将产品图册转换为翻页电子产品图册的方法

​在数字化浪潮席卷全球的今天&#xff0c;企业纷纷寻求转型&#xff0c;纸质产品图册逐渐被翻页电子图册所替代。电子图册不仅具有环保、便捷、易于更新等优势&#xff0c;还能为企业节省大量印刷和物流成本。那么&#xff0c;如何将现有的实体产品图册转化为翻页电子图册呢 1…

1、如何查看电脑已经连接上的wifi的密码?

在电脑桌面右下角的如下位置&#xff1a;双击打开查看当前连接上的wifi的名字&#xff1a;ZTE-kfdGYX-5G 按一下键盘上的win R 键, 输入【cmd】 然后&#xff0c;按一下【回车】。 输入netsh wlan show profile ”wifi名称” keyclear : 输入完成后&#xff0c;按一下回车&…