<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://e2echina.ti.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>API 解答论坛 - 最近的话题</title><link>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum</link><description /><dc:language>zh-CN</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 11 Aug 2026 09:52:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum" /><item><title>TXU0204: TXU0204DTRR MSL3 防潮等級确认</title><link>https://e2echina.ti.com/thread/1088947?ContentTypeID=0</link><pubDate>Tue, 11 Aug 2026 09:47:05 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:6c0caf95-e483-446a-8a2e-0f831dfc63cb</guid><dc:creator>Betty Song</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1088947?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1088947/txu0204-txu0204dtrr-msl3/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; TXU0204&lt;/p&gt;&lt;p&gt;你好！&lt;/p&gt;
&lt;p&gt;我是KAGA的采购BETTY.&lt;/p&gt;
&lt;p&gt;目前从TI购入的物料：TXU0204DTRR ，KAGA CODE:14-10204000-000,&amp;nbsp; 根据工厂的反馈和生产测试结果: 经过烘烤后，不良率有下降。因目前来料是按MSL 1交货的，如果每次使用前都要烘烤的话会额外增加费用，请帮忙确认后续可否按MSL 3包装出货（真空包装＋干燥剂＋湿度指示卡），谢谢！&lt;/p&gt;</description></item><item><title>RE: TXU0204: TXU0204DTRR MSL3 防潮等級确认</title><link>https://e2echina.ti.com/thread/3919661?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2026 09:52:50 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:8365bb8d-88bb-4459-bcb2-9b1b6d20016e</guid><dc:creator>Links</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3919661?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1088947/txu0204-txu0204dtrr-msl3/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div style="border-width:100%;direction:ltr;"&gt;
&lt;div style="direction:ltr;margin-left:0in;margin-top:0in;width:2.775in;"&gt;
&lt;div style="direction:ltr;margin-left:0in;margin-top:0in;width:2.775in;"&gt;
&lt;p style="color:black;font-family:&amp;#39;Microsoft YaHei&amp;#39;;font-size:9.0pt;margin:0in;"&gt;您好，&lt;/p&gt;
&lt;p style="color:black;font-family:&amp;#39;Microsoft YaHei&amp;#39;;font-size:9.0pt;margin:0in;"&gt;该问题，请联系客服部门获得支持&lt;/p&gt;
&lt;p style="margin:0in;"&gt;&lt;a id="" href="http://www.ti.com.cn/.../customer-support.html"&gt;&lt;span style="font-family:Arial;font-size:9.0pt;"&gt;www.ti.com.cn/.../customer-support.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MSPM0L1228: MSPM0L1228的PB2引脚未正常拉低</title><link>https://e2echina.ti.com/thread/3904237?ContentTypeID=1</link><pubDate>Fri, 17 Jul 2026 02:52:32 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:ba7b83cf-cd5a-415a-adec-6f9af6a09cd0</guid><dc:creator>Eirwen</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3904237?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1084338/mspm0l1228-mspm0l1228-pb2/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;是指更换新的MSPM0L1228之后就可以正常动作吗&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>MSPM0L1228: MSPM0L1228的PB2引脚未正常拉低</title><link>https://e2echina.ti.com/thread/1084338?ContentTypeID=0</link><pubDate>Wed, 15 Jul 2026 02:23:48 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:0055e7fa-01b1-4a9f-82f6-e00cf3e542c5</guid><dc:creator>Dong Liangrong</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1084338?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1084338/mspm0l1228-mspm0l1228-pb2/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; MSPM0L1228&lt;/p&gt;&lt;p&gt;&lt;span&gt;PB2&lt;/span&gt;&lt;span&gt;引脚连接3850看门狗set1，在进入boot前本应拉低来关闭3850看门狗防止boot时被复位，实际PB2引脚未被拉低，导致进入boot后复位，boot失败。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;排查后发现以下现象，请参考：&lt;/p&gt;
&lt;ol style="margin-top:0cm;margin-bottom:0cm;" start="1"&gt;
&lt;li&gt;断开故障MCU_PB2与外部电路的连接，PB2可以正常拉低；连接PB2与外部电路（实际只有一个10k上拉电阻到3.3V），PB2无法拉低。&lt;/li&gt;
&lt;li&gt;ABA交换故障件和正常的MCU，故障现象跟着MCU走。&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>RE: MSPM0L1228: MSPM0L1228的PB2引脚未正常拉低</title><link>https://e2echina.ti.com/thread/3903019?ContentTypeID=1</link><pubDate>Wed, 15 Jul 2026 02:25:58 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:c5fbbd27-77ae-4372-9f7b-da9c56e7c724</guid><dc:creator>Eirwen</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3903019?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1084338/mspm0l1228-mspm0l1228-pb2/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;已经收到了您的案例，调查需要些时间，感谢您的耐心等待。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: F29H859TU-Q1: F29H859TU8QZEXRQ1型号MCU的参考电路</title><link>https://e2echina.ti.com/thread/3898953?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2026 03:30:50 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:135f7f42-ec37-46ee-9075-11bdb4cbdad7</guid><dc:creator>Taylor</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3898953?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1083184/f29h859tu-q1-f29h859tu8qzexrq1-mcu/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;请参考&lt;/p&gt;
&lt;p&gt;&lt;a class="ti_p-iconText" href="https://www.ti.com/lit/zip/SPRCAL4" rel="noopener noreferrer" target="_blank" data-navtitle="Gerber file"&gt;&lt;span&gt;F29H85X-SOM-EVM Design Files (Rev. D)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="ti_p-iconText" href="https://www.ti.com/lit/pdf/SPRM870" rel="noopener noreferrer" target="_blank" data-navtitle="Schematic"&gt;&lt;span&gt;F29H85X-SOM-EVM Schematic (Rev. C)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>F29H859TU-Q1: F29H859TU8QZEXRQ1型号MCU的参考电路</title><link>https://e2echina.ti.com/thread/1083184?ContentTypeID=0</link><pubDate>Thu, 09 Jul 2026 03:24:38 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:9b5c24c3-35ad-4374-aefd-6f09bb38a533</guid><dc:creator>ZIXIONG YU</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1083184?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1083184/f29h859tu-q1-f29h859tu8qzexrq1-mcu/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; F29H859TU-Q1&lt;/p&gt;&lt;p&gt;可以提供该MCU的256pin型号的参考电路吗，仅作为设计参考，谢谢！&lt;/p&gt;</description></item><item><title>RE: F29H859TU-Q1: F29H859TU8QZEXRQ1型号MCU的参考电路</title><link>https://e2echina.ti.com/thread/3898952?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2026 03:26:45 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:69a5afad-9871-4e8d-9923-21b608772837</guid><dc:creator>Taylor</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3898952?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1083184/f29h859tu-q1-f29h859tu8qzexrq1-mcu/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;您好，&lt;/p&gt;
&lt;p&gt;已经收到了您的案例，调查需要些时间，感谢您的耐心等待。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LMZ14203H: 请提供COD for LMZ14203HTZ/NOPB</title><link>https://e2echina.ti.com/thread/1078313?ContentTypeID=0</link><pubDate>Tue, 09 Jun 2026 02:31:01 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:1c1c1f4f-0221-4024-903a-8673a688d6d5</guid><dc:creator>Elena Chen</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1078313?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1078313/lmz14203h-cod-for-lmz14203htz-nopb/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; LMZ14203H&lt;/p&gt;&lt;p&gt;请提供COD for TI&amp;nbsp; MPN:LMZ14203HTZ/NOPB&lt;/p&gt;</description></item><item><title>RE: LMZ14203H: 请提供COD for LMZ14203HTZ/NOPB</title><link>https://e2echina.ti.com/thread/3882123?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 02:40:46 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:b434100b-faa2-4bac-ba36-404fe0bc0adb</guid><dc:creator>Lydia</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3882123?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1078313/lmz14203h-cod-for-lmz14203htz-nopb/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;您好，&lt;/p&gt;
&lt;p style="color:#172b4d;font-family:&amp;#39;Microsoft YaHei&amp;#39;;font-size:10.5pt;margin-bottom:0pt;margin-top:7pt;"&gt;&lt;span style="background:white;"&gt;TI 论坛旨在解决客户在使用TI产品过程中遇到的技术问题。关于您的&lt;/span&gt;COD请求，&lt;span style="background:white;"&gt;请点击下面的链接联系客户支持部门，会有客服为您提供帮助。&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:&amp;#39;Microsoft YaHei&amp;#39;;font-size:10.5pt;margin:0in;" lang="x-none"&gt;&lt;a id="" href="https://ticsc.service-now.com/csm"&gt;&lt;span style="background:white;"&gt;https://ticsc.service-now.com/csm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TMS320C6678: C6678使用OPENMP编译问题</title><link>https://e2echina.ti.com/thread/3865391?ContentTypeID=1</link><pubDate>Thu, 14 May 2026 08:31:45 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:64cc3458-3114-484e-80b6-689ebb601b69</guid><dc:creator>Eirwen</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3865391?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1073548/tms320c6678-c6678-openmp/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;关于这个报错，请尝试参考下面链接：&lt;/p&gt;
&lt;p&gt;&lt;a href="https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1501737/tms320f28027-undefined-symbols-ctrl_initctrl-first-referenced-in-file-main-obj?tisearch=e2e-sitesearch&amp;amp;keymatch=first%2520referenced%2520in"&gt;TMS320F28027: undefined symbols CTRL_initCtrl first referenced in file .main.obj - C2000 microcontrollers forum - C2000&lt;span class="emoticon" data-url="https://e2echina.ti.com/cfs-file/__key/system/emoji/2122.svg" title="Tm"&gt;&amp;#x2122;&lt;/span&gt;︎ microcontrollers - TI E2E support forums&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1106964/tms320f28069m-unresolved-symbol-_buttoncenter-first-referenced-in-sources-menu_haptic_bike-menu_haptic_bike-obj?tisearch=e2e-sitesearch&amp;amp;keymatch=first%25252520referenced%25252520in"&gt;TMS320F28069M: unresolved symbol _ButtonCenter, first referenced in ./Sources/Menu_Haptic_Bike/Menu_Haptic_Bike.obj - C2000 microcontrollers forum - C2000&lt;span class="emoticon" data-url="https://e2echina.ti.com/cfs-file/__key/system/emoji/2122.svg" title="Tm"&gt;&amp;#x2122;&lt;/span&gt;︎ microcontrollers - TI E2E support forums&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1264283/tms320f28379d-unresolved-symbol-first-referenced-in-cla-file?tisearch=e2e-sitesearch&amp;amp;keymatch=first%252520referenced%252520in"&gt;TMS320F28379D: Unresolved symbol, first referenced in cla file - C2000 microcontrollers forum - C2000&lt;span class="emoticon" data-url="https://e2echina.ti.com/cfs-file/__key/system/emoji/2122.svg" title="Tm"&gt;&amp;#x2122;&lt;/span&gt;︎ microcontrollers - TI E2E support forums&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TMS320C6678: C6678使用OPENMP编译问题</title><link>https://e2echina.ti.com/thread/1073548?ContentTypeID=0</link><pubDate>Wed, 13 May 2026 03:57:26 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:40b3ea8f-25b0-4724-8dc2-7d2babb0e3b9</guid><dc:creator>w lz</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1073548?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1073548/tms320c6678-c6678-openmp/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; TMS320C6678&lt;/p&gt;&lt;p&gt;您好！&lt;/p&gt;
&lt;p&gt;我想要在现有的工程里添加openmp，但是编译报错：&lt;/p&gt;
&lt;p&gt;unresolved symbol GOMP_atomic_end, first referenced in ./app/mcsDlinkTest.obj；&lt;/p&gt;
&lt;p&gt;unresolved symbol GOMP_atomic_start, first referenced in ./app/mcsDlinkTest.obj；&lt;/p&gt;
&lt;p&gt;unresolved symbol GOMP_parallel_end, first referenced in ./app/mcsDlinkTest.obj；&lt;/p&gt;
&lt;p&gt;unresolved symbol GOMP_parallel_start, first referenced in ./app/mcsDlinkTest.obj；&lt;/p&gt;
&lt;p&gt;unresolved symbol omp_get_num_threads, first referenced in ./app/mcsDlinkTest.obj；&lt;/p&gt;
&lt;p&gt;unresolved symbol omp_get_thread_num, first referenced in ./app/mcsDlinkTest.obj&lt;/p&gt;
&lt;p&gt;已开启--openmp选项&lt;/p&gt;
&lt;p&gt;&lt;img src="https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/155/0218.image.png" alt="image.png" width="509" height="321" data-temp-id="image.png-99716" /&gt;&lt;/p&gt;
&lt;p&gt;所用products版本如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/155/03dc7468_2D00_424e_2D00_4117_2D00_a3a3_2D00_d9dc242ecdbd.png" alt="03dc7468-424e-4117-a3a3-d9dc242ecdbd.png" width="512" height="325" data-temp-id="03dc7468-424e-4117-a3a3-d9dc242ecdbd.png-107839" /&gt;&lt;/p&gt;
&lt;p&gt;代码如下：&lt;/p&gt;
&lt;p&gt;#include &amp;lt;ti/omp/omp.h&amp;gt;&lt;/p&gt;
&lt;p&gt;void ompTest(void)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; int i;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int n = 0; // 初始化累加器&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; #pragma omp parallel for reduction(+:n)&lt;br /&gt;&amp;nbsp; &amp;nbsp; for(i = 0; i &amp;lt; 1000; i++)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n += (i + i);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; return;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;请问我还需要增加什么操作，才能让我的工程顺利编译通过？&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>RE: TMS320C6678: C6678使用OPENMP编译问题</title><link>https://e2echina.ti.com/thread/3865288?ContentTypeID=1</link><pubDate>Wed, 13 May 2026 04:49:41 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:260d30b4-e8c0-4f72-8aea-4f2512e0d334</guid><dc:creator>Eirwen</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3865288?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1073548/tms320c6678-c6678-openmp/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;已经收到了您的案例，调查需要些时间，感谢您的耐心等待。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>DLPC900: DLP670S: In DLPC900 + DLP670S, according to the official provided API, when performing image writing in the On-The-Fly mode, only one image can be written.</title><link>https://e2echina.ti.com/thread/1072452?ContentTypeID=0</link><pubDate>Sat, 09 May 2026 02:16:08 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:5ab9d058-4ba5-4363-829f-1e0b087d00b3</guid><dc:creator>Zhenming Shen</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/1072452?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1072452/dlpc900-dlp670s-in-dlpc900-dlp670s-according-to-the-official-provided-api-when-performing-image-writing-in-the-on-the-fly-mode-only-one-image-can-be-written/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; DLPC900&lt;/p&gt;&lt;p&gt;Here is the image download function that I wrote based on 6500. Since the code I wrote was for a single image, I first expanded the single image into a 24-bit image before proceeding with the download:&lt;/p&gt;
&lt;p&gt;int DownloadCompressedImage(const std::string&amp;amp; bmpPath, unsigned char imageIndex, int dmd_width, int dmd_height)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; //检查文件是否存在&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (!dlp::File::Exists(bmpPath)) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;File does not exist: &amp;quot; &amp;lt;&amp;lt; bmpPath &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 读取 BMP 信息&lt;br /&gt;&amp;nbsp; &amp;nbsp; BMPInfo info = ReadBMP(bmpPath);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (info.width == 0 || info.height == 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Failed to read BMP or unsupported format.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -2;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (info.bitCount != 1 &amp;amp;&amp;amp; info.bitCount != 24) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Only supporte 1-bit and 24-bit BMP&amp;quot; &amp;lt;&amp;lt; info.bitCount &amp;lt;&amp;lt; &amp;quot; bits.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int imgWidth &amp;nbsp;= info.width;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int imgHeight = abs(info.height);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (imgWidth != dmd_width || imgHeight != dmd_height) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Resolution mismatch: &amp;quot; &amp;lt;&amp;lt; imgWidth &amp;lt;&amp;lt; &amp;quot;x&amp;quot; &amp;lt;&amp;lt; imgHeight&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt; &amp;quot; vs &amp;quot; &amp;lt;&amp;lt; dmd_width &amp;lt;&amp;lt; &amp;quot;x&amp;quot; &amp;lt;&amp;lt; dmd_height &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -4;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 如果1位图像为24位图像，如果是24位图像直接使用原始数据&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::vector&amp;lt;uint8_t&amp;gt; rgb24Buffer;&lt;br /&gt;&amp;nbsp; &amp;nbsp; const uint8_t* imageDataForCompression = nullptr;&lt;br /&gt;&amp;nbsp; &amp;nbsp; size_t dataSize = 0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if (info.bitCount == 1) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rgb24Buffer = Convert1To24Bit(info);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageDataForCompression = rgb24Buffer.data();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataSize = rgb24Buffer.size();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Converted 1-bit BMP to 24-bit RGB.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; else {&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 直接使用 info.rawData（注意 BMP 存储为 BGR，Splash_createImage 内部会做 BGR-&amp;gt;RGB 和垂直翻转）&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageDataForCompression = info.rawData.data();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataSize = info.rawData.size();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 构造虚拟的 BMP 完整文件缓冲区（用于 Splash_createImage）为了&lt;br /&gt;&amp;nbsp; &amp;nbsp; // 使用 Splash_createImage，需要构造一个临时的 24 位 BMP 内存镜像&lt;br /&gt;&amp;nbsp; &amp;nbsp; // 构造 BMP 文件头（14字节）+ 信息头（40字节）+ 像素数据&lt;br /&gt;&amp;nbsp; &amp;nbsp; int bmpHeaderSize = 14 + 40;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int rowSize24 = (imgWidth * 3 + 3) &amp;amp; ~3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int pixelDataSize = rowSize24 * imgHeight;&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::vector&amp;lt;uint8_t&amp;gt; fakeBMP(bmpHeaderSize + pixelDataSize);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 文件头&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint16_t bfType = 0x4D42;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t bfSize = bmpHeaderSize + pixelDataSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t bfOffBits = bmpHeaderSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(fakeBMP.data(), &amp;amp;bfType, 2);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(fakeBMP.data() + 2, &amp;amp;bfSize, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(fakeBMP.data() + 10, &amp;amp;bfOffBits, 4);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 信息头&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biSize = 40;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biWidth = imgWidth;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biHeight = imgHeight;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint16_t biPlanes = 1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint16_t biBitCount = 24;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biCompression = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biSizeImage = pixelDataSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biXPelsPerMeter = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biYPelsPerMeter = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biClrUsed = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biClrImportant = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint8_t* header = fakeBMP.data() + 14;&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header, &amp;amp;biSize, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 4, &amp;amp;biWidth, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 8, &amp;amp;biHeight, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 12, &amp;amp;biPlanes, 2);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 14, &amp;amp;biBitCount, 2);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 16, &amp;amp;biCompression, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 20, &amp;amp;biSizeImage, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 24, &amp;amp;biXPelsPerMeter, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 28, &amp;amp;biYPelsPerMeter, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 32, &amp;amp;biClrUsed, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 36, &amp;amp;biClrImportant, 4);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 填入像素数据（需要保持每一行对齐到4字节，且BGR顺序）&lt;br /&gt;&amp;nbsp; &amp;nbsp; const uint8_t* src = (info.bitCount == 1) ? imageDataForCompression : imageDataForCompression;&lt;br /&gt;&amp;nbsp; &amp;nbsp; for (int y = 0; y &amp;lt; imgHeight; ++y) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int srcRow = y;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 如果原始数据是自顶向下，需要翻转？我们根据 BMP 规范：当 biHeight &amp;gt;0 时，数据存储为自底向上。&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 为了简单，我们假设原始数据已经是自顶向下（第一行对应图像顶部）。&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 我们构造标准的自底向上 BMP：最后一行放在数据开头。&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int dstY = y;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uint8_t* dstRow = fakeBMP.data() + bmpHeaderSize + dstY * rowSize24;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const uint8_t* srcRowPtr = src + y * imgWidth * 3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int x = 0; x &amp;lt; imgWidth; ++x) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstRow[x * 3 + 0] = srcRowPtr[x * 3 + 0]; // B&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstRow[x * 3 + 1] = srcRowPtr[x * 3 + 1]; // G&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstRow[x * 3 + 2] = srcRowPtr[x * 3 + 2]; // R&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int32_t* pWidth = (int32_t*)(fakeBMP.data() + 18);&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t* pHeight = (int32_t*)(fakeBMP.data() + 22);&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Fake BMP width = &amp;quot; &amp;lt;&amp;lt; *pWidth &amp;lt;&amp;lt; &amp;quot;, height = &amp;quot; &amp;lt;&amp;lt; *pHeight &amp;lt;&amp;lt; std::endl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; //获取图像splash数据&lt;br /&gt;&amp;nbsp; &amp;nbsp; COMPRESSED_BITMAPIMAGES images = { nullptr, 0, nullptr, 0 };&lt;br /&gt;&amp;nbsp; &amp;nbsp; int &amp;nbsp;compression_format = 0xF;&lt;br /&gt;&amp;nbsp; &amp;nbsp; bool split = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int ret = Splash_createImage(fakeBMP.data(), &amp;amp;images, &amp;amp;compression_format, split);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (ret != 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Splash_createImage failed with error &amp;quot; &amp;lt;&amp;lt; ret &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -5;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; unsigned char* leftData = images.bitmapImage1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; unsigned char* rightData = images.bitmapImage2;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int leftSize &amp;nbsp;= images.sizeBitmap1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int rightSize = images.sizeBitmap2;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (!leftData || !rightData || leftSize == 0 || rightSize == 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Compressed image data is empty&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 注意需要释放可能已分配的内存&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (leftData) &amp;nbsp;free(leftData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (rightData) free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -6;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 上传主控制器（左半图）&lt;br /&gt;&amp;nbsp; &amp;nbsp; bool master = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (DLPC900_InitPatternMemLoad(master, imageIndex, leftSize) &amp;lt; 0)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Master InitPatternMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -7;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; int left_offset = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int left_remaining = leftSize;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; while (left_remaining &amp;gt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int sent = DLPC900_pattenMemLoad(master, leftData + leftSize - left_remaining, left_remaining);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (sent &amp;lt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Master pattenMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -8;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; left_offset += sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; left_remaining -= sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Master upload: &amp;quot; &amp;lt;&amp;lt; (left_offset * 100 / leftSize) &amp;lt;&amp;lt; &amp;quot;%\r&amp;quot; &amp;lt;&amp;lt; std::flush;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; std::endl &amp;lt;&amp;lt; &amp;quot;Master image uploaded.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 上传从控制器（右半图）&lt;br /&gt;&amp;nbsp; &amp;nbsp; master = false;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (DLPC900_InitPatternMemLoad(master, imageIndex, rightSize) &amp;lt; 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Slave InitPatternMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -9;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; int right_offset = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int right_remaining = rightSize;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; while (right_remaining &amp;gt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int sent = DLPC900_pattenMemLoad(master, rightData + rightSize - right_remaining, right_remaining);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (sent &amp;lt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Slave pattenMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; right_offset += sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; right_remaining -= sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Slave upload: &amp;quot; &amp;lt;&amp;lt; (right_offset * 100 / rightSize) &amp;lt;&amp;lt; &amp;quot;%\r&amp;quot; &amp;lt;&amp;lt; std::flush;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; std::endl &amp;lt;&amp;lt; &amp;quot;Slave image uploaded.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; free(leftData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; return 0;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Below is the code for my main program. The current issue is that when I download these three images, only the third image can be displayed. The first two images have a display time, but no patterns are shown. There is a 4-second period where there is no image, and then the third image starts to be displayed in 2 seconds. Is this a problem with my LUT configuration or with the download function?&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //只有暂停显示的情况下才允许配置 LUT 和显示图形&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[4] = DLPC900_PatternDisplay(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[4] &amp;lt; 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error sending pattern display command&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::vector&amp;lt;std::string&amp;gt; imagePaths =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;C:\\Users\\leaper\\Desktop\\DLPC900\\DLPC900REF-SW-5.3.0\\DLPC900REF-SW-5.3.0\\DLPC900REF-GUI\\Images and Batch files\\LCR670S_Images\\0101.bmp&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;C:\\Users\\leaper\\Desktop\\DLPC900\\DLPC900REF-SW-5.3.0\\DLPC900REF-SW-5.3.0\\DLPC900REF-GUI\\Images and Batch files\\LCR670S_Images\\0098.bmp&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;C:\\Users\\leaper\\Desktop\\DLPC900\\DLPC900REF-SW-5.3.0\\DLPC900REF-SW-5.3.0\\DLPC900REF-GUI\\Images and Batch files\\LCR670S_Images\\0303.bmp&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 通用参数（可根据需要调整）&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int ExpUs = 2000000; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 曝光时间&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int DarkTime = 0; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// 黑暗时间&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int BitDepth = 1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// 图像深度&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int LEDSelect = 7; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LED颜色&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool ClearPat = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 显示后是否清除图案&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool WaitForTrigger = false; // 是否需要外部触发（内部触发连续播放）&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool TrigOut2 = true; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// 是否启用 Trigger2 输出&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for(int i = 0; i &amp;lt; imagePaths.size(); i++)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[5] = DLPC900_AddToPatLut(i, ExpUs, ClearPat, BitDepth, LEDSelect, WaitForTrigger, DarkTime, TrigOut2, i, 0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[5] != 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error adding pattern &amp;quot; &amp;lt;&amp;lt; i + 1 &amp;lt;&amp;lt; &amp;quot; to LUT&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[6] = DLPC900_SendPatLut();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[6] != 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error sending pattern LUT&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned int numLutEntries = imagePaths.size();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned int repeat = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[7] = DLPC900_SetPatternConfig(numLutEntries, repeat);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[7] &amp;lt; 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error setting pattern config&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; imagePaths.size(); i++)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[8] = DownloadCompressedImage(imagePaths[i], i, 2716, 1600);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[8] == 0)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Image &amp;quot; &amp;lt;&amp;lt; std::filesystem::path(imagePaths[i]).filename() &amp;lt;&amp;lt; &amp;quot; Download completed.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Image &amp;quot; &amp;lt;&amp;lt; std::filesystem::path(imagePaths[i]).filename() &amp;lt;&amp;lt; &amp;quot; Download failed with code &amp;quot; &amp;lt;&amp;lt; result[9] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;</description></item><item><title>DLPC900: DLP670S: In DLPC900 + DLP670S, according to the official provided API, when performing image writing in the On-The-Fly mode, only one image can be written.</title><link>https://e2echina.ti.com/thread/1072449?ContentTypeID=0</link><pubDate>Sat, 09 May 2026 02:13:29 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:45468b5d-cc2d-49fc-ab33-8a8df80dda33</guid><dc:creator>Zhenming Shen</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/1072449?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1072449/dlpc900-dlp670s-in-dlpc900-dlp670s-according-to-the-official-provided-api-when-performing-image-writing-in-the-on-the-fly-mode-only-one-image-can-be-written/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; DLPC900&lt;/p&gt;&lt;p&gt;Here is the image download function that I wrote based on 6500. Since the code I wrote was for a single image, I first expanded the single image into a 24-bit image before proceeding with the download:&lt;/p&gt;
&lt;p&gt;int DownloadCompressedImage(const std::string&amp;amp; bmpPath, unsigned char imageIndex, int dmd_width, int dmd_height)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; //检查文件是否存在&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (!dlp::File::Exists(bmpPath)) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;File does not exist: &amp;quot; &amp;lt;&amp;lt; bmpPath &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 读取 BMP 信息&lt;br /&gt;&amp;nbsp; &amp;nbsp; BMPInfo info = ReadBMP(bmpPath);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (info.width == 0 || info.height == 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Failed to read BMP or unsupported format.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -2;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (info.bitCount != 1 &amp;amp;&amp;amp; info.bitCount != 24) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Only supporte 1-bit and 24-bit BMP&amp;quot; &amp;lt;&amp;lt; info.bitCount &amp;lt;&amp;lt; &amp;quot; bits.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int imgWidth &amp;nbsp;= info.width;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int imgHeight = abs(info.height);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (imgWidth != dmd_width || imgHeight != dmd_height) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Resolution mismatch: &amp;quot; &amp;lt;&amp;lt; imgWidth &amp;lt;&amp;lt; &amp;quot;x&amp;quot; &amp;lt;&amp;lt; imgHeight&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt; &amp;quot; vs &amp;quot; &amp;lt;&amp;lt; dmd_width &amp;lt;&amp;lt; &amp;quot;x&amp;quot; &amp;lt;&amp;lt; dmd_height &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -4;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 如果1位图像为24位图像，如果是24位图像直接使用原始数据&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::vector&amp;lt;uint8_t&amp;gt; rgb24Buffer;&lt;br /&gt;&amp;nbsp; &amp;nbsp; const uint8_t* imageDataForCompression = nullptr;&lt;br /&gt;&amp;nbsp; &amp;nbsp; size_t dataSize = 0;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if (info.bitCount == 1) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rgb24Buffer = Convert1To24Bit(info);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageDataForCompression = rgb24Buffer.data();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataSize = rgb24Buffer.size();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Converted 1-bit BMP to 24-bit RGB.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; else {&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 直接使用 info.rawData（注意 BMP 存储为 BGR，Splash_createImage 内部会做 BGR-&amp;gt;RGB 和垂直翻转）&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageDataForCompression = info.rawData.data();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataSize = info.rawData.size();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 构造虚拟的 BMP 完整文件缓冲区（用于 Splash_createImage）为了&lt;br /&gt;&amp;nbsp; &amp;nbsp; // 使用 Splash_createImage，需要构造一个临时的 24 位 BMP 内存镜像&lt;br /&gt;&amp;nbsp; &amp;nbsp; // 构造 BMP 文件头（14字节）+ 信息头（40字节）+ 像素数据&lt;br /&gt;&amp;nbsp; &amp;nbsp; int bmpHeaderSize = 14 + 40;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int rowSize24 = (imgWidth * 3 + 3) &amp;amp; ~3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int pixelDataSize = rowSize24 * imgHeight;&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::vector&amp;lt;uint8_t&amp;gt; fakeBMP(bmpHeaderSize + pixelDataSize);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 文件头&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint16_t bfType = 0x4D42;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t bfSize = bmpHeaderSize + pixelDataSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t bfOffBits = bmpHeaderSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(fakeBMP.data(), &amp;amp;bfType, 2);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(fakeBMP.data() + 2, &amp;amp;bfSize, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(fakeBMP.data() + 10, &amp;amp;bfOffBits, 4);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 信息头&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biSize = 40;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biWidth = imgWidth;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biHeight = imgHeight;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint16_t biPlanes = 1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint16_t biBitCount = 24;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biCompression = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biSizeImage = pixelDataSize;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biXPelsPerMeter = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t biYPelsPerMeter = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biClrUsed = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t biClrImportant = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint8_t* header = fakeBMP.data() + 14;&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header, &amp;amp;biSize, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 4, &amp;amp;biWidth, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 8, &amp;amp;biHeight, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 12, &amp;amp;biPlanes, 2);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 14, &amp;amp;biBitCount, 2);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 16, &amp;amp;biCompression, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 20, &amp;amp;biSizeImage, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 24, &amp;amp;biXPelsPerMeter, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 28, &amp;amp;biYPelsPerMeter, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 32, &amp;amp;biClrUsed, 4);&lt;br /&gt;&amp;nbsp; &amp;nbsp; memcpy(header + 36, &amp;amp;biClrImportant, 4);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 填入像素数据（需要保持每一行对齐到4字节，且BGR顺序）&lt;br /&gt;&amp;nbsp; &amp;nbsp; const uint8_t* src = (info.bitCount == 1) ? imageDataForCompression : imageDataForCompression;&lt;br /&gt;&amp;nbsp; &amp;nbsp; for (int y = 0; y &amp;lt; imgHeight; ++y) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int srcRow = y;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 如果原始数据是自顶向下，需要翻转？我们根据 BMP 规范：当 biHeight &amp;gt;0 时，数据存储为自底向上。&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 为了简单，我们假设原始数据已经是自顶向下（第一行对应图像顶部）。&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 我们构造标准的自底向上 BMP：最后一行放在数据开头。&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int dstY = y;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uint8_t* dstRow = fakeBMP.data() + bmpHeaderSize + dstY * rowSize24;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const uint8_t* srcRowPtr = src + y * imgWidth * 3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int x = 0; x &amp;lt; imgWidth; ++x) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstRow[x * 3 + 0] = srcRowPtr[x * 3 + 0]; // B&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstRow[x * 3 + 1] = srcRowPtr[x * 3 + 1]; // G&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstRow[x * 3 + 2] = srcRowPtr[x * 3 + 2]; // R&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int32_t* pWidth = (int32_t*)(fakeBMP.data() + 18);&lt;br /&gt;&amp;nbsp; &amp;nbsp; int32_t* pHeight = (int32_t*)(fakeBMP.data() + 22);&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Fake BMP width = &amp;quot; &amp;lt;&amp;lt; *pWidth &amp;lt;&amp;lt; &amp;quot;, height = &amp;quot; &amp;lt;&amp;lt; *pHeight &amp;lt;&amp;lt; std::endl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; //获取图像splash数据&lt;br /&gt;&amp;nbsp; &amp;nbsp; COMPRESSED_BITMAPIMAGES images = { nullptr, 0, nullptr, 0 };&lt;br /&gt;&amp;nbsp; &amp;nbsp; int &amp;nbsp;compression_format = 0xF;&lt;br /&gt;&amp;nbsp; &amp;nbsp; bool split = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int ret = Splash_createImage(fakeBMP.data(), &amp;amp;images, &amp;amp;compression_format, split);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (ret != 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Splash_createImage failed with error &amp;quot; &amp;lt;&amp;lt; ret &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -5;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; unsigned char* leftData = images.bitmapImage1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; unsigned char* rightData = images.bitmapImage2;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int leftSize &amp;nbsp;= images.sizeBitmap1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int rightSize = images.sizeBitmap2;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (!leftData || !rightData || leftSize == 0 || rightSize == 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Compressed image data is empty&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 注意需要释放可能已分配的内存&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (leftData) &amp;nbsp;free(leftData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (rightData) free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -6;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 上传主控制器（左半图）&lt;br /&gt;&amp;nbsp; &amp;nbsp; bool master = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (DLPC900_InitPatternMemLoad(master, imageIndex, leftSize) &amp;lt; 0)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Master InitPatternMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -7;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; int left_offset = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int left_remaining = leftSize;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; while (left_remaining &amp;gt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int sent = DLPC900_pattenMemLoad(master, leftData + leftSize - left_remaining, left_remaining);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (sent &amp;lt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Master pattenMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -8;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; left_offset += sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; left_remaining -= sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Master upload: &amp;quot; &amp;lt;&amp;lt; (left_offset * 100 / leftSize) &amp;lt;&amp;lt; &amp;quot;%\r&amp;quot; &amp;lt;&amp;lt; std::flush;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; std::endl &amp;lt;&amp;lt; &amp;quot;Master image uploaded.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 上传从控制器（右半图）&lt;br /&gt;&amp;nbsp; &amp;nbsp; master = false;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (DLPC900_InitPatternMemLoad(master, imageIndex, rightSize) &amp;lt; 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Slave InitPatternMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -9;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; int right_offset = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int right_remaining = rightSize;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; while (right_remaining &amp;gt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int sent = DLPC900_pattenMemLoad(master, rightData + rightSize - right_remaining, right_remaining);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (sent &amp;lt; 0) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cerr &amp;lt;&amp;lt; &amp;quot;Slave pattenMemLoad failed&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(leftData); free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -10;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; right_offset += sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; right_remaining -= sent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Slave upload: &amp;quot; &amp;lt;&amp;lt; (right_offset * 100 / rightSize) &amp;lt;&amp;lt; &amp;quot;%\r&amp;quot; &amp;lt;&amp;lt; std::flush;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; std::endl &amp;lt;&amp;lt; &amp;quot;Slave image uploaded.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; free(leftData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; free(rightData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; return 0;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Below is the code for my main program. The current issue is that when I download these three images, only the third image can be displayed. The first two images have a display time, but no patterns are shown. There is a 4-second period where there is no image, and then the third image starts to be displayed in 2 seconds. Is this a problem with my LUT configuration or with the download function?&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //只有暂停显示的情况下才允许配置 LUT 和显示图形&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[4] = DLPC900_PatternDisplay(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[4] &amp;lt; 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error sending pattern display command&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::vector&amp;lt;std::string&amp;gt; imagePaths =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;C:\\Users\\leaper\\Desktop\\DLPC900\\DLPC900REF-SW-5.3.0\\DLPC900REF-SW-5.3.0\\DLPC900REF-GUI\\Images and Batch files\\LCR670S_Images\\0101.bmp&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;C:\\Users\\leaper\\Desktop\\DLPC900\\DLPC900REF-SW-5.3.0\\DLPC900REF-SW-5.3.0\\DLPC900REF-GUI\\Images and Batch files\\LCR670S_Images\\0098.bmp&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;C:\\Users\\leaper\\Desktop\\DLPC900\\DLPC900REF-SW-5.3.0\\DLPC900REF-SW-5.3.0\\DLPC900REF-GUI\\Images and Batch files\\LCR670S_Images\\0303.bmp&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 通用参数（可根据需要调整）&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int ExpUs = 2000000; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 曝光时间&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int DarkTime = 0; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// 黑暗时间&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int BitDepth = 1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// 图像深度&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int LEDSelect = 7; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // LED颜色&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool ClearPat = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 显示后是否清除图案&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool WaitForTrigger = false; // 是否需要外部触发（内部触发连续播放）&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool TrigOut2 = true; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// 是否启用 Trigger2 输出&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for(int i = 0; i &amp;lt; imagePaths.size(); i++)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[5] = DLPC900_AddToPatLut(i, ExpUs, ClearPat, BitDepth, LEDSelect, WaitForTrigger, DarkTime, TrigOut2, i, 0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[5] != 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error adding pattern &amp;quot; &amp;lt;&amp;lt; i + 1 &amp;lt;&amp;lt; &amp;quot; to LUT&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[6] = DLPC900_SendPatLut();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[6] != 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error sending pattern LUT&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned int numLutEntries = imagePaths.size();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned int repeat = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[7] = DLPC900_SetPatternConfig(numLutEntries, repeat);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[7] &amp;lt; 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Error setting pattern config&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; imagePaths.size(); i++)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result[8] = DownloadCompressedImage(imagePaths[i], i, 2716, 1600);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result[8] == 0)&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Image &amp;quot; &amp;lt;&amp;lt; std::filesystem::path(imagePaths[i]).filename() &amp;lt;&amp;lt; &amp;quot; Download completed.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;Image &amp;quot; &amp;lt;&amp;lt; std::filesystem::path(imagePaths[i]).filename() &amp;lt;&amp;lt; &amp;quot; Download failed with code &amp;quot; &amp;lt;&amp;lt; result[9] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;</description></item><item><title>TPSM82823A: TPSM82823ASILR 标签DC2548+ ,但实际零件标记59</title><link>https://e2echina.ti.com/thread/1069323?ContentTypeID=0</link><pubDate>Mon, 20 Apr 2026 09:37:17 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:1830eb70-8c10-4370-aaf8-69f189ae8d26</guid><dc:creator>June KE</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1069323?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1069323/tpsm82823a-tpsm82823asilr-dc2548-59/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; TPSM82823A&lt;/p&gt;&lt;p&gt;你好，TI团队&lt;br /&gt;我们有一批TPSM82823ASILR 零件（卷轴标签日期代码2548）但实际零件标记59&lt;br /&gt;&lt;br /&gt;我们注意到实际设备上标记的日期代码与卷轴标签不同。您能否确认这是否正常，并解释一下差异的原因？&amp;nbsp;&lt;br /&gt;&lt;img src="https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/155/5e0721eee1f94be290a962c73c416caa.jpg" alt="5e0721eee1f94be290a962c73c416caa.jpg" data-temp-id="5e0721eee1f94be290a962c73c416caa.jpg-3148221" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>RE: TPSM82823A: TPSM82823ASILR 标签DC2548+ ,但实际零件标记59</title><link>https://e2echina.ti.com/thread/3854944?ContentTypeID=1</link><pubDate>Tue, 28 Apr 2026 08:37:07 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:7e565e5e-2dfb-4abb-a1ba-c816eaa97053</guid><dc:creator>Taylor</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3854944?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1069323/tpsm82823a-tpsm82823asilr-dc2548-59/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;请联系客服部门进行咨询&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.ti.com.cn/zh-cn/info/customer-support.html"&gt;客户支持中心 | TI.com.cn&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TPSM82823A: TPSM82823ASILR 标签DC2548+ ,但实际零件标记59</title><link>https://e2echina.ti.com/thread/3854943?ContentTypeID=1</link><pubDate>Tue, 28 Apr 2026 08:36:01 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:615ae073-7478-4a44-adb7-ab6e88eb8b78</guid><dc:creator>Taylor</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3854943?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1069323/tpsm82823a-tpsm82823asilr-dc2548-59/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;您好，&lt;/p&gt;
&lt;p&gt;已经收到了您的案例，调查需要些时间，感谢您的耐心等待。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/3828810?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 09:10:29 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:767a6076-ee37-45cd-98ec-02dcbb408058</guid><dc:creator>Daniel</dc:creator><slash:comments>0</slash:comments><comments>https://e2echina.ti.com/thread/3828810?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;您好&lt;/p&gt;
&lt;p&gt;根据目前公布的相关资料，没有具体的相关披露。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/1063464?ContentTypeID=0</link><pubDate>Mon, 16 Mar 2026 07:12:09 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:abe484df-ac46-4aa6-a2ad-e2b747b6351d</guid><dc:creator>zs zhang</dc:creator><slash:comments>13</slash:comments><comments>https://e2echina.ti.com/thread/1063464?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; TMS320F2800137&lt;/p&gt;&lt;p&gt;关于这个芯片，请问在执行FLASH写操作时，是否还会关闭关闭全局中断 。&lt;/p&gt;</description></item><item><title>RE: TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/3828809?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 09:03:22 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:2b588055-11a8-401c-80df-9cf065c61ff4</guid><dc:creator>zs zhang</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3828809?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;这是一个封装的函数，我们无法查看这个函数内部的逻辑，所以想要咨询您那边是否可以帮忙查看，&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/3828806?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 09:01:20 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:92d20c9a-6da4-4b9e-963e-60bcf69906b0</guid><dc:creator>Daniel</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3828806?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;您好&lt;/p&gt;
&lt;p&gt;所有中断存在优先级，当优先级不足时，就会存在先后，类似的情况当出现reset时，其余中断介入就会存在&amp;#39;屏蔽&amp;#39;。这是个例子。建议在写入存储过程中做相关处理，防止写入错误导致系统崩溃等情况。&lt;/p&gt;
[quote userid="166108" url="~/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/3828803"]现在就是想问&lt;span&gt;Fapi_issueProgrammingCommand这个函数内部会屏蔽全局中断吗？&lt;/span&gt;[/quote]
&lt;p&gt;请上相关库文件查找相关代码说明。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/3828803?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 08:52:56 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:ac2d33b2-0c9d-48c3-b4fe-1981943ebd61</guid><dc:creator>zs zhang</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3828803?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;我知道您的意思，我们会考虑写flash这个操作不能被打断的问题，现在就是想问&lt;span&gt;Fapi_issueProgrammingCommand这个函数内部会屏蔽全局中断吗？为什么执行这个函数的时候我们的ISR中断就无法执行了，要等待几十微秒之后才能正常执行ISR中断。&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/3828802?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 08:47:58 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:5640d0a7-12d0-48f8-811b-bcf488510f67</guid><dc:creator>Daniel</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3828802?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;您好&lt;/p&gt;
[quote userid="166108" url="~/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/3828801"]在只屏蔽&lt;span&gt;Fapi_issueProgrammingCommand这个函数的情况下，执行write flash操作时不会出现中断被打断的情况，请问这个函数内部是有屏蔽全局中断的操作吗&lt;/span&gt;[/quote]
&lt;p&gt;&lt;span&gt;同时写入flash这个等级比较高。您做中断时要进行考虑。&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TMS320F2800137: TMS320F2800137</title><link>https://e2echina.ti.com/thread/3828801?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 08:39:03 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:8bf040f8-eeb7-40ed-9e1c-a65114c148a3</guid><dc:creator>zs zhang</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/3828801?ContentTypeID=1</comments><wfw:commentRss>https://e2echina.ti.com/support/enterprise-automation-integration/f/enterprise-automation-integration-forum/1063464/tms320f2800137-tms320f2800137/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;我们已经尝试过了，在只屏蔽&lt;span&gt;Fapi_issueProgrammingCommand这个函数的情况下，执行write flash操作时不会出现中断被打断的情况，请问这个函数内部是有屏蔽全局中断的操作吗？&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>