工作内容通过测试EKT-YMCC8405AAAVUCL-HT16C23I2C、YMMO0216AAAAUGN-ST7567ISP8080、YMC128128-96AAAFDGLUART、YMC9284-01AAANUGN4SPI各类产品排查问题深究不同传输方式EKT-YMCC8405AAAVUCL展盒制作和工艺制作流程。本周09/18加班修改EKT-YMCC8405AAAVUCL-HT16C23I2C展盒文件感悟一方面锻炼硬件技术让排查硬件链接、断短、供电、电流功率和设计电路板的阻值排线引脚等。另一方面深耕软件技术了解探究最底层的连接方式时序图对于IC资料来规定初始化进行软件编排✍️习惯性的理解不同产品的特殊性对于IC选型的考究。心得在派发任务发现问题时先考虑是知识点还是技术性问题还是人员安排尽可能不影响时间调度提前做时间规划给领导及时汇报以免耽误进程两头催。每一周做一份工作汇报为下周工作做规划排好进度同时回顾这周所做把知识点问题跟进解决现有漏洞尽可能让技术性问题形成经验之谈。YMC12864-447AAAFUGL 4spi/****************************************************** write_com(uchar) write_dat(uchar) *******************************************************/ //serial 4-SPIÐ void write_com(unsigned char byte) { unsigned char i; cd0; for(i0;ilt;8;i) { sck0; _nop_(); _nop_(); sda(bit)(byteamp;0x80); bytebytelt;lt;1; sck1; _nop_(); _nop_(); } } //serial 4-SPIÐ void write_dat(unsigned char byte) { unsigned char i; cd1; for(i0;i8;i) { sck0; nop(); nop(); sda(bit)(byte0x80); sck1; bytebyte1; nop(); nop(); } }EKT-YMCC8405AAAVUCL i2c#include Reg52.h #include intrins.h bit ack; void Start_I2c(); void start_i2c() { sda1; nop(); sck1; nop(); nop(); nop(); nop(); nop(); sda0; nop(); nop(); nop(); nop(); nop(); sck0; nop(); nop(); } void Stop_I2c(); void stop_i2c() { sda0; nop(); sck1; nop(); nop(); nop(); nop(); nop(); sda1; nop(); nop(); nop(); nop(); } void SendByte(unsigned char c); void sendbyte(unsigned char c) { unsigned char BitCnt; for(BitCnt0;BitCnt8;BitCnt) { if((cBitCnt)0x80)sda1; else sda0; nop(); sck1; nop(); nop(); nop(); nop(); nop(); sck0; } _nop_(); _nop_(); sda1; _nop_(); _nop_(); sck1; _nop_(); _nop_(); _nop_(); if(sda1)ack0; else ack1; sck0; _nop_(); _nop_(); } unsigned char RcvByte(); unsigned char RcvByte() { unsigned char retc; unsigned char BitCnt; retc0; sda1; for(BitCnt0;BitCnt8;BitCnt) { nop(); sck0; nop(); nop(); nop(); nop(); nop(); sck1; nop(); nop(); retcretc1; if(sda1)retcretc1; nop(); nop(); } sck0; nop(); nop(); return(retc); } void Ack_I2c(bit a); void Ack_I2c(bit a) { if(a0)sda0; else sda1; nop(); nop(); nop(); sck1; nop(); nop(); nop(); nop(); nop(); sck0; nop(); nop(); } bit ISendByte(unsigned char sla,ucahr c); bit ISendByte(unsigned char sla,unsigned char c) { Start_I2c(); SendByte(sla); if(ack0)return(0); SendByte(c); if(ack0)return(0); Stop_I2c(); return(1); } bit ISendStr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) { unsigned char i; Start_I2c(); SendByte(sla); if(ack0)return(0); SendByte(suba); if(ack0)return(0); for(i0;ino;i) { SendByte(*s); if(ack0)return(0); s; } Stop_I2c(); return(1); } bit IRcvByte(unsigned char sla,ucahr *c); bit IRcvByte(unsigned char sla,unsigned char *c) { Start_I2c(); SendByte(sla1); if(ack0)return(0); *cRcvByte(); Ack_I2c(1); Stop_I2c(); return(1); } bit ISendStr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) { unsigned char i; Start_I2c(); SendByte(sla); if(ack0)return(0); SendByte(suba); if(ack0)return(0); Start_I2c(); SendByte(sla1); if(ack0)return(0); for(i0;ino-1;i) { *sRcvByte(); Ack_I2c(0); s; } *sRcvByte(); Ack_I2c(1); Stop_I2c(); return(1); }YMC128128-96AAAFDGL软件uart串口中断void int0_int(void) interrupt 0 { if(pause_en) { pause_en0; pause(pause?0:1); TH2RCAP2H; TL2RCAP2L; timer2_int_times0; TR21; } } void t0_int(void) interrupt 1 { delay0; TR00; } void t2_int(void) interrupt 5 { if(EXF2)EXF20; if(TF2) { TF20; timer2_int_times; if(timer2_int_times6)//300ms { timer2_int_times0; TR20; pause_en1; } } } void uart_int(void) interrupt 4 { if(RI)uart_rx(); if(TI)uart_tx(); } void uart_rx(void) { RI0; mSBUF; rx[rx_n]m; if(rx_nrx_max){rok1;rx_n0;} } void uart_tx(void) { TI0; tok1; } void mcu_initial(void) { rok0; rx_n0; rx_max1; tok1; tx_n0; tx_max0; P00xff; P10xff; P20xff; P30xff; //T0-timer ,T1-Baud Generator TMOD0x21;//T1 Timer-8bit auto reload ,T0 Timer-16 bit SCON0x70;//mode-1 [8bit ,strict stop-bit ,enable Rx-work] PCON0x3F;// //TH1253;//BAUD11.0592M/12/32/39600 (At 12T) TH1243;//BAUD12M/12/32/132403 (At 12T) TR11; T2CON0x00; T2MOD0x00; RCAP2L(65536-50000)%256; RCAP2H(65536-50000)/256; EA1; ES1; ET01; ET21; IT01; EX01; AUXR0x01; }YMMO0216AAAAUGN-ST7567 8080sfr ISP_CONTR 0xe7; void isp_delay( unsigned int i ) using 1 { while( i-- 0); } void isp_init(void) { delay_10us(); delay_100us(); delay_us(0); delay_ms(0); delay_ss(0); IP 0x10; IE 0x90; TMOD 0x20; TL1 0xfd; TH1 0xfd; SCON 0xd8; PCON 0x00; TR1 1; EA1; } void isp_seria() interrupt 4 using 1{ EA0;RI0;TR10; isp_delay(50000); isp_delay(50000); ISP_CONTR 0x60; }ISP传输/****************************************************** write_com(uchar) write_com2(uchar,uchar) write_dat(uchar) *******************************************************/ void write_com(unsigned char byte) { // unsigned char i; rs0; wr1; // db0xff; // do // { // // rd0; // idb; // rd1; // }while(i0x80); dbbyte; wr0; wr1; } //void write_com2(unsigned char byte1,unsigned char byte2) //{ //// unsigned char i; // rs0; // wr1; //// db0xff; //// do //// { //// //// rd0; //// idb; //// rd1; //// }while(i0x80); // // dbbyte1; // wr0; // wr1; // // dbbyte2; // wr0; // wr1; //} void write_dat(unsigned char byte) { // unsigned char i; rs0; wr1; // db0xff; // do // { // rd0; // idb; // rd1; // }while(i0x80); rs1; dbbyte; wr0; wr1; }对比表名称类型线数同步/异步双工拓扑速度典型用途SPI通信接口4同步全双工一主多从片选高Flash、传感器、LCD4线SPISPI接线方式4同步通常全双工LCD单向一主多从高LCD、FlashI2C通信接口2同步半双工多主多从地址寻址中低传感器、EEPROMUART通信接口2异步全双工点对点中低调试、模块通信UART串口中断处理方式-----UART中断收发8080并行接口8/16控制同步通常单向写点对点高LCD并口屏ISP下载方式2~4取决于接口---单片机烧录ISPISP In-System Programming在系统编程。意思是不用把芯片拆下来直接在主板上通过某些接口给单片机下载程序。常见 ISP 接口SPI ISPUART ISPJTAGSWDISP 是下载/烧录方式不是通信协议。8080It usually refers to the8080 parallel interface, also known as the MCU interface, commonly used in LCD screens.通常指8080 并口也叫 MCU 接口常见于 LCD 屏幕。它模仿 Intel 8080 总线时序线比较多It mimics the Intel 8080 bus timing and uses quite a few lines:D0~D7orD0~D15:data linesD0~D7或D0~D15数据线CS:chip selectCS片选WR:writeWR写RD:readRD读DC:command/dataDC命令/数据RST:resetRST复位Features:Parallel transmission, fast speed 并行传输速度快Many lines, takes up a lot of I/O 线多占 IO 多Often used for MCU to directly drive TFT LCD 常用于单片机直接驱动 TFT LCDCompared with SPI screens, it refreshes faster but requires more wiring 和 SPI 屏相比刷屏更快但接线更多There is also the6800 parallel interface, which follows Motorola 6800 timing and is similar to 8080 but with different control lines.另外还有6800 并口是 Motorola 6800 时序和 8080 类似但控制线不同。UART异步串行、全双工、点对点通信。两根线TX发送RX接收注意两个设备要交叉连接textA.TX - B.RX A.RX - B.TX特点没有时钟线靠双方约定波特率点对点不适合一条总线挂很多设备常用于调试串口、GPS、蓝牙、WiFi、4G 模块常见波特率9600、115200 等UART串口中断这不是一种接口而是 UART 的软件处理方式。UART 收发数据时有两种方式轮询主程序不停查标志位看有没有收到数据。中断收到数据或发送完成时硬件触发中断CPU 跳去执行中断函数。比如 8051 里cvoid uart_int(void) interrupt 4 { if(RI) uart_rx(); if(TI) uart_tx(); }RI接收中断标志TI发送中断标志好处不阻塞主程序实时性更好。所以“UART串口中断” 用中断方式处理 UART 收发不是和 SPI、I2C 并列的硬件接口。I2C同步串行、半双工、两线制总线。两根线SCL时钟SDA数据特点一根总线上可以挂很多设备每个设备有唯一地址速度较慢100kHz、400kHz、1MHz 等常用于传感器、EEPROM、小 OLED、RTC优点线少多设备方便。缺点速度不如 SPI总线容易被拉死。SPI 本身最常见就是 4 线textSCLK, MOSI, MISO, CS但用在LCD/OLED 屏上时经常说的“4线SPI”是textSCLK, MOSI, CS, DC其中DC数据/命令选择没有MISO因为屏幕通常只收不发“4线SPI”不是另一种协议而是SPI 的一种接线/使用方式。“4线ISP”那它通常指用 4 根线给单片机下载程序比如textSCK, MOSI, MISO, RESET这是下载方式不是通信协议。SPI同步串行通信接口全双工主从结构。常见 4 根线SCLK时钟MOSI主机发从机收MISO从机发主机收CS/SS片选特点速度快常见几 MHz 到几十 MHz一主多从每个从机一个片选没有地址概念靠片选选设备常用于 Flash、SD 卡、传感器、LCD 屏
企业数字化 ERP 产品动态
相关推荐
2026 安徽合肥半导体产业博览会观展指南(5月18日-20日) 芯聚滨湖 赴约产业盛会|2026中国(安徽)半导体产业展览会
集成电路是数字经济时代的核心基石,也是培育新质生产力、推动高端制造自主可控的关键赛道。依托合肥“芯屏汽合”特色产业集群优势,中部半导体产业迎来持续快速… · 2026/11/1 1:45:21
一口气存下整季连载:哔哩下载姬 downkyi 批量下载B站视频的完整流程 一口气存下整季连载:哔哩下载姬 downkyi 批量下载B站视频的完整流程 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去… · 2026/11/2 5:43:25
InsightFlare AI Agent接入教程:一句话分析站点流量的完整指南 【免费下载链接】InsightFlare A powerful, privacy-friendly open source web analytics tool that runs entirely on Cloudflare. 项目地址: https://gitcode.com/gh_mirrors/in/InsightFlare 点击查看 免费下载 InsightFlare 是一款隐私友好的开源 Web 统计工具… · 2026/11/2 20:52:31
等保测评时效解析:二级与三级系统差异及优化策略 1. 等保测评时效概述信息系统安全等级保护测评(简称等保测评)是我国网络安全领域的重要合规要求。二级和三级信息系统作为企业最常见的两个等级,其测评时效性直接关系到企业的合规成本和业务连续性。在实际操作中,我发现很多企业管… · 2026/11/3 5:23:59
前端与数据库交互:API层的核心作用与优化策略 1. 前端与数据库的天然鸿沟当我们谈论现代Web应用架构时,前端与数据库之间看似简单的数据流动,实际上隐藏着复杂的工程挑战。想象一下这样的场景:用户在电商网站点击"加入购物车"按钮,这个动作需要经过多少层技术栈才能… · 2026/11/3 5:23:59
Redis连接池原理与生产环境最佳实践 1. Redis连接池的核心价值与工作原理在分布式系统和高并发场景中,数据库连接管理一直是性能优化的关键痛点。我经历过一个线上事故:某电商平台在大促期间,由于频繁创建和关闭Redis连接,导致服务器资源耗尽,整个系统雪崩… · 2026/11/3 5:23:59
自动驾驶技术瓶颈与商业化挑战分析 1. 自动驾驶技术发展现状与行业挑战自动驾驶技术近年来成为科技和汽车行业的热门领域,各大车企和科技公司都在这一赛道上投入巨资。从技术分级来看,自动驾驶通常被划分为L0-L5六个级别,其中L2级辅助驾驶已经实现大规模商业化应用,… · 2026/11/3 5:23:59
HTTPS配置与TLS握手详解:证书链、TLS 1.3与故障排查 前面那段时间,我被叫去帮忙看一个很典型的线上问题:主站首页能打开,但用户下单、查订单、调接口全部失败,前端控制台一片飘红,报的都是证书校验不通过。运维同学的第一反应是"证书过期了",查了一… · 2026/11/3 5:23:59
二手整机与笔记本完整验机:图吧工具箱硬件检测与烤机测试指南 二手整机、自组台式机、笔记本到手之后,很多人第一反应是装个跑分软件看个数字,分数漂亮就安心了。我这些年帮人看机器的经验恰恰相反:跑分只是最后一道仪式,真正能查出问题的,是图吧工具箱这类硬件检测合集里的那些&q… · 2026/11/3 5:22:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18