版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第七章之第4節(jié)CAN總線原理及實(shí)驗(yàn)主要內(nèi)容:了解SPI總線的原理,掌握通過SPI總線訪問器件的方法掌握CAN總線通訊原理學(xué)習(xí)CAN總線控制器MCP2510驅(qū)動(dòng)的開發(fā)實(shí)驗(yàn)部分內(nèi)容1、添加CAN總線驅(qū)動(dòng)的write操作,實(shí)現(xiàn)CAN數(shù)據(jù)自回環(huán)模式的收發(fā)。2、修改應(yīng)用程序,實(shí)現(xiàn)兩臺(tái)CAN總線之間數(shù)據(jù)的收發(fā)。SPISPI ( Serial Peripheral Interface) SPI總線概述 SPI 總線是Motorola公司推出的三線同步接口,同步串行3線方式進(jìn)行通信:一條時(shí)鐘線SCK,一條數(shù)據(jù)輸入線MOSI,一條數(shù)據(jù)輸出線MISO;用于CPU與各種外圍器件進(jìn)行全雙工、同步串行通訊。 SPI主
2、要特點(diǎn)有: 可以同時(shí)發(fā)出和接收串行數(shù)據(jù); 可以當(dāng)作主機(jī)或從機(jī)工作; 提供頻率可編程時(shí)鐘; 發(fā)送結(jié)束中斷標(biāo)志; 寫沖突保護(hù); 總線競(jìng)爭(zhēng)保護(hù)等。SPISPI ( Serial Peripheral Interface)SPI的四種傳輸數(shù)據(jù)的四種模式: 根據(jù)時(shí)鐘的極性和相位的不同工作于四種模式CPOL: 時(shí)鐘極性, 表示 SPI 在空閑時(shí), 時(shí)鐘信號(hào)是高電平還是低電平。 若 CPOL 被設(shè)為 1, 那么該設(shè)備在空閑時(shí) SCK 管腳下的時(shí)鐘信號(hào)為高電平. 當(dāng) CPOL 被設(shè)為 0 時(shí)則正好相反。CPHA: 時(shí)鐘相位, 表示 SPI 設(shè)備是在 SCK 管腳上的時(shí)鐘信號(hào)變?yōu)樯仙貢r(shí)觸發(fā)數(shù)據(jù)采樣, 還是在時(shí)
3、鐘信號(hào)變?yōu)橄陆笛貢r(shí)觸發(fā)數(shù)據(jù)采樣。 若 CPHA 被設(shè)置為 1, 則 SPI 設(shè)備在時(shí)鐘信號(hào)變?yōu)橄陆笛貢r(shí)觸發(fā)數(shù)據(jù)采樣, 在上升沿時(shí)發(fā)送數(shù)據(jù)。 當(dāng) CPHA 被設(shè)為 0 時(shí)也正好相反。SPISPI ( Serial Peripheral Interface)SPI工作模式 查詢模式 中斷模式 DMA模式SPISPI ( Serial Peripheral Interface) S3C2410 x 的SPI模塊SPI相關(guān)的寄存器功能介紹;SPCON0 -SMOD/選擇SPI的工作模式:查詢、中斷、DMA -ENSCK/輸出CLK使能控制位 -MSTR/主從方式選擇 -CPOL/時(shí)鐘極性選擇 -CPH
4、A/相位選擇 -TAGD/(?)SPSTA0 -DCOL/數(shù)據(jù)沖突檢測(cè) -MULF/多主模式檢測(cè) -REDY/發(fā)送或接受準(zhǔn)備就緒標(biāo)志位,SPTDATn可以讀寫標(biāo)志位SPPIN0/SPI管腳控制寄存器SPPRE0/SPI傳輸速率控制寄存器SPTDAT0/從模式下發(fā)送數(shù)據(jù)寄存器 主模式下反SPRDAT0/從模式下接受數(shù)據(jù)寄存器 .SPISPI ( Serial Peripheral Interface) 設(shè)置SPI接口參考以下步驟: 1、設(shè)置SPI的波特率(對(duì)應(yīng)的波特率控制寄存器SPPREn) 2、設(shè)置SPI控制寄存器(SPCONn),配置SPI的工作模式 3、如果要初始化MMC或者SD CARD
5、,則要寫入數(shù)據(jù)OxFF到寄存器SPIDATn十次 4、啟動(dòng)MMC或者SD CARD,要設(shè)置nSS對(duì)應(yīng)的GPIO為低電平 5、發(fā)送數(shù)據(jù)時(shí),首先檢測(cè)REDY是否為1,然后在寫數(shù)據(jù)到SPTDATn 6、讀數(shù)據(jù)方式一:SPCONn的控制位TAGD = 0/normal mode時(shí),先寫數(shù)據(jù)0 xFF到寄存器SPTDATn, 然后再檢測(cè)傳輸就標(biāo)志位REDY是否為1,在讀取數(shù)據(jù)到本地緩存; 7、讀數(shù)據(jù)方式二:SPCONn的控制位TAGD = 1/Tx Auto Garbage Data mode時(shí) 檢測(cè)傳輸就標(biāo)志位REDY是否為1,在讀取數(shù)據(jù)到本地緩存 8、設(shè)置nSS對(duì)應(yīng)的GPIO為高電平,關(guān)閉MMC或者
6、SD CARD;SPISPI ( Serial Peripheral Interface)SPI讀寫數(shù)據(jù)的檢測(cè) 當(dāng)寫入數(shù)據(jù)時(shí):REDY時(shí)鐘是零,寫入完成之后賦值為1 例:SPTDAT0 = val; /寫數(shù)據(jù)到發(fā)送數(shù)據(jù)寄存器while (!(SPSTA0 & 1); /等待發(fā)送全部完成SPISPI ( Serial Peripheral Interface)SPI初始化 初始化SPI連接外部設(shè)備的端口 /初始化與SPI相關(guān)的三個(gè)GPIO /PIMISO SPIMOSI SPICLK set_gpio_ctrl (GPIO_TC_SPIMISO); set_gpio_ctrl (GPIO
7、_TC_SPIMOSI); set_gpio_ctrl (GPIO_TC_SPICLK);注:關(guān)于GPIO的設(shè)置在后面詳細(xì)介紹SPISPI ( Serial Peripheral Interface)SPI初始化 設(shè)置傳遞模式 設(shè)置工作模式 設(shè)置波特率 設(shè)置時(shí)鐘/設(shè)置SPI的工作模式為查詢模式/開通外部時(shí)鐘使能/設(shè)置主從模式為主模式/設(shè)置時(shí)鐘脈沖極性為高電平/設(shè)置時(shí)鐘脈沖相位為模式A(上升沿)/設(shè)置時(shí)鐘分頻參數(shù)為40 PCLK/2/(40+1) =Baud rateSPISPI ( Serial Peripheral Interface) SPI讀寫數(shù)據(jù)(8位數(shù)據(jù)) 讀操作 inline st
8、atic char SPIRecv ( int channel ) if (channel = 0)return SPRDAT0;else if (channel = 1) return SPRDAT1;elsereturn -1; SPISPI ( Serial Peripheral Interface) 寫操作 inline static void SPISend ( unsigned char val, int channel ) int flags;local_irq_save(flags);if ( channel = 0 )SPTDAT0 = val;while (!(SPSTA0
9、 & 1);/等待寫入全部完成else if ( channel = 1 )SPTDAT1 = val;while (!(SPSTA1 & 1);local_irq_restore(flags); CAN總線的原理 CAN全稱為Controller Area Network,即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。 最初CAN總線被設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。比如,發(fā)動(dòng)機(jī)管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中均嵌入CAN控制裝置。ECU(Electronic Control Unit):電子
10、控制單元,又稱“行車電腦”、“車載電腦”等 CAN總線的原理CAN的主要優(yōu)點(diǎn)包括: 低成本 極高的總線利用率 很遠(yuǎn)的數(shù)據(jù)傳輸距離(長(zhǎng)達(dá)10公里) 高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbit/s) 可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文 可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制 發(fā)送的信息遭到破壞后可自動(dòng)重發(fā) 節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能 報(bào)文不包含源地址或目標(biāo)地址僅用標(biāo)志符來指示功能信息優(yōu)先級(jí)信CAN總線的原理 一個(gè)由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個(gè)節(jié)點(diǎn)。實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制例如,當(dāng)使用TJA1050作為CAN 收發(fā)器時(shí),同一網(wǎng)絡(luò)中允許掛接110個(gè)節(jié)點(diǎn)。 CAN
11、總線的電氣特征 物理介質(zhì), “顯性” 和“隱性”CAN能夠使用多種物理介質(zhì)進(jìn)行傳輸,例如:雙絞線、光纖等。最常用的就是雙絞線。信號(hào)使用差分電壓傳送,兩條信號(hào)線被稱為CAN_H和CAN_L,靜態(tài)時(shí)均是2.5V左右,此時(shí)狀態(tài)表示為邏輯1也可以叫做“隱性”。用CAN_H比CAN_L高表示邏輯0,稱為“顯性”。 CAN總線的原理CAN總線的MAC幀結(jié)構(gòu) CAN總線的原理 典型系統(tǒng)實(shí)現(xiàn)方法節(jié)點(diǎn)控制器-S3C2410微處理器,CAN控制器-MCP2510、 MCP2515芯片,CAN收發(fā)器-TJA1050、 TJA1040芯片。CAN總線的原理CAN總線控制器MCP2510 支持標(biāo)準(zhǔn)格式和擴(kuò)展格式的CAN
12、數(shù)據(jù)幀結(jié)構(gòu) 0-8字節(jié)的有效數(shù)據(jù)長(zhǎng)度,支持遠(yuǎn)程幀 最大1Mbps的可編程波特率 兩個(gè)支持過濾器(Fliter、Mask)的接收緩沖區(qū),三個(gè)發(fā)送緩沖區(qū) 支持回環(huán)(Loop Back)模式 SPI高速串行總線,最大5MHz(4.5V供電) 3V到5.5V供電CAN總線的原理名稱 管腳 描述 實(shí)際接法 TXCAN 1 連接到 CAN 的發(fā)送輸出引腳 接 TJA1050 的 TXD 引腳 RXCAN 2 連接到 CAN 的接收輸入引腳 接 TJA1050 的 RXD 引腳 OCS2 8 振蕩器輸出 接 16MHZ 的晶振 OCS1 9 振蕩器輸入 接 16MHZ 的晶振 Vss 10 邏輯和 I/O
13、引腳的參考地端 接地 INT 13 中斷輸出引腳 接 EINT4 引腳 SCK 14 SPI 接口時(shí)鐘輸入引腳 接 CPU 的 SPCK 引腳 SI 16 SPI 接口數(shù)據(jù)輸入引腳 接 CPU 的 MOSI 引腳 SO 17 SPI 接口輸入輸出引腳 接 CPU 的 MISO 腳 CS 18 SPI 接口片選輸入引腳 接 CPU 的 GPH0 引腳 RESET 19 低電平有效,復(fù)位輸入引腳 接 CPU 的 nRESET 引腳 VDD 20 邏輯和 I/O 引腳的正電源 接 5V 電壓 MCP2510芯片CAN總線的原理芯片內(nèi)部功能結(jié)構(gòu)CAN總線的原理CAN模塊原理圖CAN總線的原理 MCP2
14、510的控制字 命令命令格式格式定義定義復(fù)位1100 0000設(shè)置內(nèi)部寄存器為默認(rèn)值,并設(shè)置MCP2510到配置狀態(tài)讀取0000 0011從選定的寄存器的地址開始讀取數(shù)據(jù)寫入0000 0010向選定的寄存器的地址開始寫入數(shù)據(jù)發(fā)送請(qǐng)求1000 0nnn設(shè)置一個(gè)或者多個(gè)發(fā)送請(qǐng)求位,發(fā)送緩沖區(qū)中的數(shù)據(jù)讀取狀態(tài)1010 0000輪流檢測(cè)發(fā)送或者接收的狀態(tài)修改位0000 0101按位修改寄存器CAN總線的原理典型時(shí)序讀取命令 CAN總線的原理典型時(shí)序單字節(jié)寫入命令 CAN總線的原理 波特率的設(shè)置: 通過設(shè)置MCP2510中的CNF1、CNF2、CNF3三個(gè)寄存器,實(shí)現(xiàn)不同時(shí)鐘下,CAN總線通訊的波特率的
15、設(shè)置。在本實(shí)驗(yàn)平臺(tái)中,MCP2510的輸入時(shí)鐘為16MHz。 相位1與相位2以采樣點(diǎn)分割CAN波特率波特率同步段同步段傳輸段傳輸段相位相位1相位相位2CNF1CNF2CNF3125Kpbs17440 x030 x9E0 x03250Kpbs17440 x010 x9E0 x03500Kpbs17440 x000 x9E0 x031Mbps13220 x000 x9E0 x03實(shí)驗(yàn)內(nèi)容1、在驅(qū)動(dòng)模塊中添加write接口,實(shí)現(xiàn)can總線發(fā)送數(shù)據(jù)功能2、參考main.c程序,編寫系統(tǒng)的應(yīng)用程序,實(shí)現(xiàn)讀取的功能。3、修改Mikefile文件,編譯應(yīng)用程序代碼分析應(yīng)用程序接口(API)驅(qū)動(dòng)程序提供給用戶
16、應(yīng)用程序的接口 write,/發(fā)送 read,/接收 ioctl,/其他操作 open,/打開設(shè)備 release:,/關(guān)閉設(shè)備分析應(yīng)用程序代碼:代碼分析驅(qū)動(dòng)程序驅(qū)動(dòng)程序?qū)崿F(xiàn): static struct file_operations s3c2410_fops = owner:THIS_MODULE,write: s3c2410_mcp2510_write,read: s3c2410_mcp2510_read,ioctl:s3c2410_mcp2510_ioctl,open: s3c2410_mcp2510_open,release:s3c2410_mcp2510_release, ;代碼分
17、析MCP2510驅(qū)動(dòng)框架代碼分析 MCP2510的初始化: MCP2510的初始化如下步驟: 軟件復(fù)位,進(jìn)入配置模式 設(shè)置CAN總線波特率 關(guān)閉中斷 設(shè)置ID過濾器 切換MCP2510到正常狀態(tài)(Normal) 清空接受和發(fā)送緩沖區(qū) 開啟接收緩沖區(qū),開啟中斷(可選)代碼分析代碼分析 CanData數(shù)據(jù)結(jié)構(gòu) typedef struct unsigned int id;/CAN總線IDunsigned char data8;/CAN總線數(shù)據(jù)unsigned char dlc;/數(shù)據(jù)長(zhǎng)度int IsExt; /是否是擴(kuò)展幀int rxRTR;/是否是遠(yuǎn)程幀CanData, *PCanData;代碼
18、分析MCP2510 Write操作1、在local處理器上關(guān)閉中斷2、MCP2510片選ENABLE3、CAN總線單字節(jié)寫入操作4、 MCP2510片選DISABLE5、 打開中斷代碼分析MCP2510 Write操作在local處理器上關(guān)閉/打開中斷操作:local_irq_save(flags);local_irq_restore(flags);代碼分析MCP2510 Write操作CAN總線單字節(jié)寫入操作 1、SPI總線發(fā)送數(shù)據(jù)函數(shù): SendSIOData()/一個(gè)封裝函數(shù) 2、發(fā)送單字節(jié)寫入命令:0 x10 3、發(fā)送寫入的地址 4、發(fā)送寫入的內(nèi)容代碼分析MCP2510 Read操作s
19、tatic unsigned char MCP2510_Read(int address)unsigned char result;int flags;local_irq_save(flags);MCP2510_Enable();SendSIOData(MCP2510INSTR_READ);/發(fā)送讀命令SendSIOData(unsigned char)address);/發(fā)送讀取數(shù)據(jù)的地址SendSIOData(0);result=ReadSIOData();MCP2510_Disable();local_irq_restore(flags);return result;Can總線發(fā)送流程
20、1、在s3c2410_fops結(jié)構(gòu)中添加寫接口 2、用戶程序使用CanData數(shù)據(jù)結(jié)構(gòu)給驅(qū)動(dòng)模塊傳遞參數(shù)3、從用戶空間讀取待發(fā)送的內(nèi)容 4、將用戶空間傳遞的數(shù)據(jù)加以解析 5、MCP2510通過SPI接口與處理器傳遞數(shù)據(jù) Can總線發(fā)送流程通過CanData結(jié)構(gòu)發(fā)送數(shù)據(jù):(1) 申請(qǐng)CanData大小的空間char sendbuffersizeof(CanData)(2) 判斷只操作CanData大小的數(shù)據(jù)結(jié)構(gòu)的情況(其他數(shù)量的字節(jié)報(bào)錯(cuò)返回)(3) copy數(shù)據(jù)從用戶空間到內(nèi)核空間中(4) 調(diào)用CAN總線發(fā)送數(shù)據(jù)函數(shù)(注意數(shù)據(jù)類型)MCP2510_canWrite();實(shí)驗(yàn)內(nèi)容1、在驅(qū)動(dòng)模塊中添
21、加write接口,實(shí)現(xiàn)can總線發(fā)送數(shù)據(jù)功能2、參考main.c程序,編寫系統(tǒng)的應(yīng)用程序,實(shí)現(xiàn)讀取的功能。3、修改Mikefile文件,編譯應(yīng)用程序代碼分析用戶程序調(diào)用驅(qū)動(dòng)程序static void CanSendString(char *pstr) CanData data; int len=strlen(pstr); memset(&data,0,sizeof(CanData); data.id=0 x123; data.dlc=8; for(;lenMAX_CANDATALEN; len-=MAX_CANDATALEN) memcpy(data.data, pstr, 8);if
22、(write(can_fd,&data,sizeof(data)0) printf(write error!n); return ; pstr+=8; data.dlc=len; memcpy(data.data, pstr, len);if(write(can_fd,&data,sizeof(data)0) printf(write error!n); return ; 代碼分析接收緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)typedef struct CanData MCP2510_CandataMCP2510_CanRevBuffer;/recieve data bufferint nCanRevp
23、os; /recieve buffer pos for queued eventsint nCanReadpos; /read buffer pos for queued eventsint loopbackmode;wait_queue_head_t wq;spinlock_t lock;Mcp2510_DEV;代碼分析ioctl實(shí)現(xiàn)應(yīng)用程序與驅(qū)動(dòng)程序通信s3c2410_mcp2510_ioctl:UPCAN_IOCTRL_SETBANDUPCAN_IOCTRL_SETIDUPCAN_IOCTRL_SETLPBKUPCAN_IOCTRL_SETFILTERUPCAN_IOCTRL_PRINT
24、RIGISTER代碼代碼代碼分析ioctl實(shí)現(xiàn)應(yīng)用程序與驅(qū)動(dòng)程序通信應(yīng)用程序中調(diào)用ioctl方法實(shí)現(xiàn)參數(shù)傳遞:ioctl(can_fd, UPCAN_IOCTRL_PRINTRIGISTER, NULL);ioctl(can_fd, UPCAN_IOCTRL_SETID, id);#ifdef DEBUGioctl(can_fd, UPCAN_IOCTRL_SETLPBK, 1);#endif實(shí)驗(yàn)修改應(yīng)用程序,實(shí)現(xiàn)兩臺(tái)CAN總線之間數(shù)據(jù)的收發(fā)S3C2410 x的I/O設(shè)置控制GPIO的控制寄存器: 包括:GPACON-GPHCON s3c2410的很多管腳都是復(fù)用的因此需要設(shè)置相應(yīng)的控制寄存器
25、,來決定管腳的用途;GPxCON/端口配置寄存器GPxDAT/端口數(shù)據(jù)寄存器GPxUP/端口上拉控制寄存器S3C2410 x的I/O設(shè)置設(shè)置說明: 1、因?yàn)镻ORTA只用于輸出,所以對(duì)應(yīng)的控制寄存器只有,GPACON和GPADAT 2、另外還有一些端口設(shè)置寄存器: MISCCR /這個(gè)寄存器里包含了USB、時(shí)鐘輸出、上拉控制寄存器使能等多個(gè)控制位;比較復(fù)雜 EXTINTNx/控制外部中斷輸入請(qǐng)求的方式包括:高、低電平中斷方式,上、下降沿中斷方式和邊沿中斷方式; EINTMASK/外部中斷屏蔽控制寄存器 EINTPENDx/還未知它是做什么用的(好象是未決什么的) GSTATUSx/普通io狀態(tài)
26、寄存器訪問linux的外部IO設(shè)備 CPU對(duì)外設(shè)IO端口物理地址的編址方式有兩種: 一種是I/O映射方式(I/Omapped) 一種是內(nèi)存映射方式(Memorymapped)。 訪問I/O內(nèi)存資源 映射I/O內(nèi)存資源 讀寫I/O內(nèi)存資源 注:關(guān)于linux的I/O管理內(nèi)容很多,如果要詳細(xì)講解,請(qǐng)參考linux操作系統(tǒng)的教程訪問linux的外部IO設(shè)備映射I/O內(nèi)存資源 Linux在io.h頭文件中聲明了函數(shù)ioremap(),用來將I/O內(nèi)存資源的物理地址映射到核心虛地址空間(3G4G) ioremap函數(shù) /完成物理地址到內(nèi)核虛擬地址的映射 iounmap函數(shù) /取消映射訪問linux的外部IO設(shè)備
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- A證(企業(yè)負(fù)責(zé)人)-安全員A證(企業(yè)負(fù)責(zé)人考前練習(xí))
- 廣東省中山市2024年九年級(jí)中考三模數(shù)學(xué)試卷附答案
- 電力系統(tǒng)節(jié)能減排實(shí)施方案
- 高一化學(xué)二第三章第一節(jié)最簡(jiǎn)單的有機(jī)化合物-甲烷教學(xué)設(shè)計(jì)
- 2024高中地理第3章地理信息技術(shù)應(yīng)用第3節(jié)全球定位系統(tǒng)及其應(yīng)用學(xué)案湘教版必修3
- 2024高中語文第一單元以意逆志知人論世蜀相訓(xùn)練含解析新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高中語文第四單元?jiǎng)?chuàng)造形象詩(shī)文有別第21課自主賞析項(xiàng)羽之死課時(shí)作業(yè)含解析新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)專練5化學(xué)與STSE含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點(diǎn)41烴的含氧衍生物強(qiáng)化訓(xùn)練含解析
- 2024高考化學(xué)一輪復(fù)習(xí)課練3物質(zhì)的組成性質(zhì)分類和化學(xué)用語含解析
- 嘔血護(hù)理查房
- 2024年新青島版(六三制)三年級(jí)下冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)
- 朝韓關(guān)系相關(guān)分析
- 校園熱水方案
- 跟蹤服務(wù)項(xiàng)目活動(dòng)實(shí)施方案
- 新能源汽車產(chǎn)業(yè)鏈中的區(qū)域發(fā)展不均衡分析與對(duì)策
- 財(cái)務(wù)機(jī)器人技術(shù)在會(huì)計(jì)工作中的應(yīng)用
- 建筑保溫隔熱構(gòu)造
- 智慧財(cái)務(wù)綜合實(shí)訓(xùn)
- 安徽省合肥市2021-2022學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)3
- 教育專家報(bào)告合集:年度得到:沈祖蕓全球教育報(bào)告(2023-2024)
評(píng)論
0/150
提交評(píng)論