版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
3.2、A.5和3.5.11和3.5.67和3.3.8、3.3.46、3.3.47、3.3.48和更新章節(jié)3.8.6和3.9、3.14、3.3.48、3.5.72和3.5.30wifi_station_get_hostname23.3.49,3.3.50,4.3.6和2更新章節(jié)新增章節(jié)更新章節(jié)新增章節(jié)更新章節(jié)刪除用戶可通過官網訂閱頁面https:/ 用戶可通過官網頁面https:/ 品。前 Non-OS Non-OSSDK簡 Wi-Fi接 RateControl接 Simple-Pair接 SmartConfig接 TCP/UDP接 應用相關接 JSON接 參數結構體和宏定 Wi-Fi參 Station參 SoftAP參 Scan參 Wi-FiEvent結構 SmartConfig結構 JSON結構 JSON宏定 espconn參 外設驅動接 I2CMaster接 口 附 TCP模 espconn Sni?er說 ESP8266SoftAP和Station信道定 ESP8266EX由公司開發(fā),提供了套高度集成的Wi-FiSoC解決方案,其低功耗、ESP8266EXWi-Fi網絡功能,既能夠獨立應用,也可以作為從MCUESP8266EXFlash中啟SPI/SDIOI2C/UARTWi-Fi適配?,應用到基于任何微控制模塊。這樣緊湊的設計僅需極少的外部電路并且將PCB的尺寸降到最小。ESP8266EX還集成了增強版的Tensilica’sL106鉆石系列32-bit內核處理?,帶片上智能互聯(lián)平臺(ESCP-EspressifSystems’SmartConnectivitytform)表現出來的領基于ESP8266EX物聯(lián)網平臺的SDK為用戶提供了個簡單、快速、高效開發(fā)物聯(lián)網產SDKAPI接口。主要的閱讀對象為需要在ESP8266物聯(lián)網平臺進行軟件開發(fā)的嵌入式軟件開發(fā)人員。Non-OSNon-OSSDKNon-OSSDK為用戶提供了套應用程序編程接口(API),能夠實現ESP8266的功能改,例如數據接收/發(fā)送、TCP/IP功能、硬件接口功能,以及基本的系統(tǒng)管理功能等。用功能可以在user_main.c中實現。voiduser_init(void)是上層程序的函數,給用戶提供個初始化接口,用戶可在對于ESP8266_NONOS_SDK_v3.0.0及之后版本,請在user_main.c增加函數voidICACHE_FLASH_ATTRuser_pre_init(void),并且在user_pre_init中自己的partitiontable。本,請在user_main.c增加函數voiduser_rf_pre_init(void)和uint32user_rf_cal_sector_set(void),可參考IOT_Demo的user_main.c。用戶可在或者在Deep-sleep前調用system_deep_sleep_set_option。如果設置為RF不打開,則ESP8266Station及SoftAP均無法使用,調用Wi-Fi相關接口及網絡功能。RF關閉時,Wi-Fi射頻功能和網絡堆棧管理API均無法使用??梢栽趗ser_main.c中增加空函數voiduser_spi_flash_dio_to_qio_pre_init(void)來優(yōu)化iRAM空間。閱《ESP8266閱《ESP8266CC函數。這些函數必須由另個函數調用。ICACHE_FLASH_ATTR宏,相應程序將存放在flash中,被cache運行。而如果添加了IRAM_ATTR宏的函數,則會在上電啟動時就加載到iRAM中?;卣{函數是指不直接從用戶程序調用的函數,而是當某系統(tǒng)發(fā)生時,相應的回non-OSSDKRTOS或者輪詢的情況下響應實件。(ISR)是種特殊類型的回調函數。發(fā)生硬件中斷時會調用這些函數。當使能中斷時,必須相應的中斷處理函數。請注意,ISR必須添加用戶任務可以分為三個優(yōu)先級:0、1、2。任務優(yōu)先級為210。即Non-OSSDK最多只支持3個用戶任務,優(yōu)先級分別為0、1、2。用戶任務般用于函數不能直接被調用的情況下。要創(chuàng)建用戶任務,請參閱本文檔system_os_task()的API描述。例如,espconn_disconnectAPI不能直接務來執(zhí)行espconn_disconnect。如前所述,non-OSSDK不支持搶占任務或進程切換。因此開發(fā)者需要自行保證程調用system_soft_wdt_feed()API來喂軟件看門狗,而不建議禁用軟件看門狗。請注意,esp_init_data.bin和blank.bin文件至少需要燒錄次,以用于正確的初ESP8266_NONOS_SDK_v2.2.1及之前的版本,應用程序必須在user_rf_cal_sector_set中設置RF校準扇區(qū)。定時(timer如果使用循環(huán)(while或for),CPU,不建議使如果需要在定時?回調中執(zhí)行os_delay_us或while或for,占用15ms頻繁調用定時?,建議頻率不高于每5ms次(微秒計時?則為100μs)。有關定時?使用的詳細信息,請參閱os_timer_arm()和相關的API說明。微秒定時?不是很精確,請在回調中考慮500μs的抖動。如需實現高精度的定時,可以參考驅動程序(driver_lib)使用硬件定時?。請注意,API不能與硬件定時?同意,外設不受CPU頻率設置的影響,因為它們使用了不同的時鐘源。添加了ICACHE_FLASH_ATTR的代碼通常比使用IRAM_ATTR標記的代碼執(zhí)行得慢。然 樣,ESP8266的iRAM空間有限,因此建議般代碼添加ICACHE_FLASH_ATTR,僅對執(zhí)行效率要求高的代碼添加IRAM_ATTR宏。Flash模式和頻率直接影響代碼執(zhí)行速度。將flash設置為更高的頻率和QIO模式會產ESP8266沒有用戶代碼或數據的非易失性。ESP8285是款在ESP8266的基礎上集成了flash的。更多詳細信息請參考ESP8285技術規(guī)格書。ESP8266160KBRAM,其中64KBiRAM,96KBdRAM。iRAM進步分成兩塊:32KBiRAMIRAM_ATTR的代碼,另個32KB塊用作cache,運行標有ICACHE_FLASH_ATTR的代碼。17KB的內存,對性能可能有定的影響,請根據實際應用需求設置,并建#define#define #ifdefuint32{return}如上設置后,默認使用IRAM作為內存,os_malloc、os_zallocos_calloc優(yōu)先從iRAM分配,iRAM用盡后會繼續(xù)使用dRAM分配;分配內存,iRAM用盡后會繼續(xù)使用dRAM分配;直接調用os_malloc_dram、os_zalloc_dram、os_calloc_dram指定從dRAM分配內存;如需與舊版本兼容,可使能宏MEM_DEFAULT_USE_DRAM,os_malloc、os_zalloc和os_calloc將從dRAM分配,而os_malloc_iram、os_zalloc_iram、os_calloc_iram可以指定從iRAM分配,iRAM用盡后會繼續(xù)使用dRAM分配。例如,在makefile中添加:CONFIGURATION_DEFINES+=-CONFIGURATION_DEFINES+=-在#ifdefMEM_DEFAULT_USE_DRAM#ifdefMEM_DEFAULT_USE_DRAM#defineos_mallocos_malloc_iram#defineos_zallocos_zalloc_iram#defineos_callocos_calloc_iram其他API進行內存操作。以下軟件定時?接口位于/ESP8266_NONOS_SDK/include/osapi.h。請注意,以下接口其他高優(yōu)先級的任務延遲,因此以下os_timer系列的接口并不能保證定時?精確執(zhí)行。 void(os_timer_t*ptimer,boolrepeat_flag)os_timer_t*ptimer:定時?uint32_tmillisecondssystem_timer_reinit,可支持范圍5~system_timer_reinit100~boolrepeat_flag:定時?無voidos_timer_disarm(os_timer_tos_timer_t*ptimer:定時?無os_timer_setfn(os_timer_t*ptimer,void*parg)os_timer_t*ptimer:定時?os_timer_func_t*pfunction:定時?void*parg無同時定義voidsystem_timer_reinit無無請定義USE_US_TIMER,并在user_init起始第一句,先調用system_timer_reinit500μsvoid(os_timer_t*ptimer,boolrepeat_flag)os_timer_t*ptimer:定時?uint32_tmicroseconds:定時時間,單位:μs0x64boolrepeat_flag:定時?無以下硬件中斷定時?/ESP8266_NONOS_SDK/examples/driver_lib/hw_timer.c。用戶可根據driver_lib文件夾下的readme.txt文件使用。如果使用NMI中斷源,且為自動填裝的定時?hw_timer_armval必須大于100。如果使用FRC1中斷源,那么該定時?無法打斷其他ISRhw_timer.c的接口不能跟 驅動接口函數同時使用,因為二者共用了同個硬Light-sleepLight-sleepCPUCPU期間不能響應NMI中斷。void(source_type,u8)FRC1_TIMER_SOURCE_TYPEsource_type:定時?ISRu8無voidhw_timer_arm(uint32FRC1FRC1_SOURCE,取值范圍:50~0x199999NMINMI_SOURCE100~0x199999非自動填裝模式,取值范圍:10~0x199999無voidhw_timer_set_func(void(*user_hw_timer_cb_set)(void)void(*user_hw_timer_cb_set)(void):定時?回調函數,函數定義時添無#define#define (*(volatileuint32#defineWDEV_NOW() uint32tick_now2=0;void{staticuint16j=0;if((WDEV_NOW()-tick_now2){staticu32idx=1;j=0;})}voidICACHE_FLASH_ATTR{}系統(tǒng)接口位于os_XXX系列接口位于/ESP8266_NONOS_SDK/include/osapi.hconstchar*無wifi_station_set_auto_connect、wifi_set_phy_mode、wifi_softap_set_config相以及恢復出廠設置后,請務必重新啟動void無無void無無voidsystem_init_done_cb(init_done_cb_tinit_done_cb_tcb無voidto_scan(void){wifi_station_scan(NULL,scan_done);}voiduser_init(void){}查詢uint32system_get_chip_id無IDVDD3P334byte為vdd33_const,必須設為0xFF,即255。uint16無圍限定為0~1.0V。TOUT管腳接外部電路的情況下,esp_init_data_default.bin(0~127byte中的第107bytevdd33_const,必須設為VDD3P3管腳3和4上真實的電源電壓,且必須小于0xFF。107bytevdd33_const0.1V[1836]處于無效范圍[0,18(36,2553.3VRF,請使用uint16無本接口必須在關閉Wi-Fi的狀態(tài)下使用。如需進行連續(xù)測量ADC,則還需要在關閉所有中斷化RF電路工作狀態(tài),TOUT管腳可以作為外部ADC輸入;化RF電路工作狀態(tài),TOUT管腳可以作為外部ADC輸入。voidsystem_adc_read_fast(uint16*adc_addr,uint16adc_num,uint8uint8adc_clk_div:ADC80M/adc_clk_div[8,32]8無externvoidsystem_adc_read_fast(uint16*adc_addr,uint16adc_num,uint8os_timer_tvoidICACHE_FLASH_ATTRADC_TEST(void{ uint16adc_addr[10];uint16adc_num=10;uint8adc_clk_div=8;uint32i;system_adc_read_fast(adc_addr,adc_num,for(i=0;i<adc_num;os_printf("i=%d,adc_v=%d\n",i,adc_addr[i]); //openinterrupt}后,才進入Deep-sleep休眠。boolsystem_deep_sleep(uint64uint64time_in_us參數time_in_us的理論最大值可由(time_in_us/cali)<<12=2^31-1計算-calisystem_rtc_clock_cali_proc()RTC的時鐘周期,bit11~bit0為小數部分,受溫度或電源電壓變化而偏移,并不精確,詳細可參考system_rtc_clock_cali_proc函數說明。option為1boolsystem_deep_sleep_set_option(uint8每(byte108+1)次Deep-sleep喚醒為周期循環(huán)。deep_sleep_numberbyte108Deep-sleepRF_CAL,deep_sleep_numberbyte1081Deep-sleep喚醒后的行為與上電的行為一致,且將deep_sleep_number歸零;user_rf_pre_init本接口與system_deep_sleep_set_option功能相似,調用本接口前,要求至少調用過一次system_deep_sleep_set_optionvoidsystem_phy_set_rfoption(uint8每(byte108+1)次Deep-sleep喚醒為周期循環(huán)。deep_sleep_numberbyte108Deep-sleepRF_CAL,deep_sleep_numberbyte1081Deep-sleep喚醒后的行為與上電的行為一致,且將deep_sleep_number歸零;無voidsystem_phy_set_powerup_option(uint8uint8option:powerup時,RF0esp_init_data_default.bin(0~127byte)byte114RF初始化行為,詳細可參考ESP8266SDK指南。無voidsystem_phy_set_max_tpw(uint8uint8max_tpw:RFTxPoweresp_init_data_default.bin(0~byte34bytetarget_power_qdb_0設置,單位:0.25dBm[0,無在voidsystem_phy_set_tpw_via_vdd33(uint16:重新測量的無logvoidsystem_set_os_print(uint8uint8無打印系統(tǒng)內存空間分配,打印信息包括voidsystem_print_meminfo無無uint32system_get_無3個任務,優(yōu)先級分別為system_os_task( )os_task_ttaskuint8prio0/1/2;03os_event_t*queueuint8qlen#define #defineTEST_QUEUE_LENos_event_tvoidtest_task(os_event_t*e)switch(e->sig)caseos_printf(sig_rx%c/n,(char)e-}}voidtask_init(void)testQueue=(os_event_t}boolsystem_os_post(uint8prio,os_signal_tsig,os_param_tpar)os_signal_tsigos_param_tparvoid{system_os_post(USER_TASK_PRIO_0,SIG_RX,}sig_rxuint32無system_get_rtc_time10(10RTC周期system_rtc_clock_cali_proc5.75(1RTC5.75μs),則實際時間為10x5.75=57.5μs。RTC時鐘會復位。具體如下:uint32無uint32無os_printf(“clkcal:%d如下圖中的userdata段共512bytes供用戶數據。 system user 256 512 RTCmemory只能4字節(jié)整存整取,函數中參數des_addr為blocknumber,每block4字userdata區(qū)起始位置,des_addr256/464,save_size為存入數據(uint32des_addr,void*src_addr,uint32save_size)uint32des_addrrtcmemory的位置,des_addrvoid*src_addruint32save_size system user 256 512 RTCmemory4des_addrblocknumberblock4userdata區(qū)起始位置,des_addr256/464,save_size為存入數據(uint32src_addr,void*des_addr,uint32save_size)uint32des_addrrtcmemory的位置,des_addrvoid*src_addruint32save_sizevoidsystem_uart_swap無無voidsystem_uart_de_swap無無boot版本信息uint8system_get_boot_version無bootboot版本號3boot增強模式,詳見system_restart_enhanceuserbin(user1.binuser2.bin)uint32system_get_userbin_addr無bootuint8system_get_boot_mode無#defineSYS_BOOT_ENHANCE_MODE#defineSYS_BOOT_NORMAL_MODEbootuser1.bin(或user2.bin)bootuint8bin_type,uint32)uint8bin_type:bin#defineSYS_BOOT_NORMAL_BIN0//user1.bin或者#defineSYS_BOOT_TEST_BIN //向申請的testuint32bin_addr:binCPU80統(tǒng)總線時鐘分頻而來,因此也不受CPU頻率切換的影響。boolsystem_update_cpu_freq(uint8uint8freq:CPU頻率#defineSYS_CPU_80MHz80#defineSYS_CPU_160MHzuint8無 enumflash_size_mapenumflash_size_map無enumrst_reason =0, //normalstartupbypoweron =1, //hardwarewatchdogreset//exceptionreset,GPIOstatuswon’tchange =2,//softwarewatchdogreset,GPIOstatuswon’tchange =3,//softwarerestart,system_restart,GPIOstatuswon’tchange =4, =5, //wakeupfromdeep-sleep =6, //externalsystemresetstructrst_infouint32reason; uint32exccause;uint32epc1; //theaddressthaterroroccurreduint32epc2;uint32epc3;uint32depc;structrst_info*無小于void無無僅支持在軟件看門狗關閉void無無void無無在user_config.h定義#defineMEMLEAK_DEBUGvoid無無封裝os_memset(void*s,intch,size_tvoid*sintchsize_tn無uint8os_memset(buffer,0,Cos_memcpy(void*des,void*src,size_tvoid*desvoid*srcsize_tn無uint8buffer[4]=os_memcpy(buffer,“abcd”,封裝os_strlen(charchar*schar*=os_memcpy(softAP_config.,,os_strlen(本接口默認從UART0打印。IOT_Demouart_init可以設置波特率,將os_printf改為從UART1打印:os_install_putc1((void*)uart1_write_char);voidos_printf(constcharconstchar*s無os_printf(“SDKversion:%s\n”,置字符串p的前n個字節(jié)為零且包含voidos_bzero(void*p,size_tvoid*psize_tn無65535voidos_delay_us(uint16uint16us無voidos_install_putc1(void(*p)(charvoid(*p)(charc)無UART.c,uart_init中的os_install_putc1((void*)uart1_write_char)將unsignedlong無intos_get_random(unsignedchar*buf,size_tunsignedchar*bufsize_tlenintret=os_get_random((unsignedchar*)temp,os_printf("ret%d,value0x%08x%08x\n\r",ret,temp[1],間,由用戶通過此函數設置一個可用扇區(qū)供SDK底層使用。RF_CALblank.binRF_CAL參數區(qū),并燒錄esp_init_data.bin。注意,esp_init_data.bin至少需要燒錄一次。uint32無uint32{enumflash_size_mapsize_map=uint32rf_cal_sec=switch(size_map)caserf_cal_sec=128-caserf_cal_sec=256-casecaserf_cal_sec=512-casecaserf_cal_sec=512-caserf_cal_sec=2048-caserf_cal_sec=4096-rf_cal_sec=}return}閉。如需等待Wi-Fi安全關閉,可使用接口system_deep_sleep。boolsystem_deep_sleep_instant(uint64uint64time_in_us參數time_in_us的理論最大值可由(time_in_us/cali)<<12=2^32-1計算-calisystem_rtc_clock_cali_proc()RTC的時鐘周期,bit11~bit0為小數部分,受溫度或電源電壓變化而偏移,并不精確,詳細可參考system_rtc_clock_cali_proc函數說明。本接口必須在user_pre_init中調用,如果失敗,請檢查partitiontable的booluint32_tpartition_num,uint32_t)uint32_tpartition_num:分區(qū)數目otapartition是用于存放user1.binuser2.binflashuint32_t-boolsystem_partition_get_item(partition_type_ttype,partition_type_ttypepartition_item_t*partition_itemSPIFlashSPIFlash接口位于/ESP8266_NONOS_SDK/include/spi_flash.h。system_param_xxx接口位于/ESP8266_NONOS_SDK/include/user_interface.h。關于SPIFlash讀寫操作,詳見文檔ESP8266Flash讀寫說明。uint32spi_flash_get_id無spiflashSpiFlashOpResultspi_flash_erase_sector(uint16uint16sec:扇區(qū)號,從扇區(qū)0開始計數,每扇區(qū)4typedef}(uint32des_addr,uint32size)uint32*src_addruint32sizebyte4typedef}spi_flash_read(uint32uint32size)uint32*des_addr:存放到數據的指uint32sizebyte4typedef{SPI_FLASH_RESULT_OK,}uint32uint8*addr=(uint8spi_flash_read(0x3E*SPI_FLASH_SEC_SIZE,(uint32*)addr,4);os_printf("0x3Esec:%02x%02x%02x%02x\r\n",addr[0],addr[1],addr[2],Flash3sector(4KBsector)1sector的數據,sector0sector1互相為備份,交替保存數據,sector2作為flagsector,指示的數據保存在0sector1(uint16start_sec,uint16len)uint16start_sec3個sectorsector0參數start_sec傳0x3D。void*paramuint16len:數據長度,不能超過1個sector大小,即Flash3sector(4KBsector)1sector的數據,sector0sector1互相為備份,交替保存數據,sector2作為flagsector,指示的數據保存在0sector1boolsystem_param_loaduint16offset,void*param,uint16)uint16start_sec3個sectorsector0參數start_sec傳0x3D,傳入0x3E或者0x3F。uint16offset:需數據,在sector中的偏移地void*param:數據的指uint16len1sectoroffset+lenvoidspi_flash_set_read_func(user_spi_flash_readtypedefSpiFlashOpResultuint32src_addr,uint32size)無bool無bool無Wi-FiWi-Fi/ESP8266_NONOS_SDK/include/user_interface.hSoftAP使能的情況下調用。有:AUTO,TKIP,AES;但groupkey,只支持TKIP,不支持AES。uint8wifi_get_opmode無查詢保存在FlashWi-Fiuint8wifi_get_opmode_default無設置或者boolwifi_set_opmode(uint8boolwifi_set_opmode_current(uint8boolwifi_station_get_config(structstation_configstructstation_config*config:Wi-FiStationboolwifi_station_get_config_default(structstation_configstructstation_config*config:Wi-FiStation始化完成后,自動連接AP(路由),無需再調用wifi_station_connectwifi_station_connectAP(路由)station_config.b_set一般設置為0,僅當需要檢查AP的MAC地址時(多用于有重名AP的情況下)設置為1。boolwifi_station_set_config(structstation_configvoid{char[32]=charpassword[64]=PASSWORD;structstation_configstationConf;stationConf.b_set=0;//neednotcheckMACaddressofos_memcpy(&stationConf.,,32);os_memcpy(&stationConf.password,password,64);}void{wifi_set_opmode(STATIONAP_MODE);//SetsoftAP+stationmode}始化完成后,自動連接AP(路由),無需再調用wifi_station_connectwifi_station_connectAP(路由)station_config.b_set一般設置為0,僅當需要檢查AP的MAC地址時(多用于有重名AP的情況下)設置為1。boolwifi_station_set_config_current(structstation_configwifi_station_set_enterprise_cert_key支持的文件頭信息為:-----BEGIN----支持的私鑰文件頭信息為:BEGINRSAPRIVATEKEYBEGINPRIVATEKEY請在連接2-ENTERPRISEAP之前調用本接口設置私鑰文件和文件,在成功連接opensslpkeyopensslrsa等命令,對某些私鑰文件進行加密-非加密的轉換(TAG轉化)boolwifi_station_set_cert_keyuint8*_cert,int_cert_len,uint8*private_key,intuint8*private_key_passwd,intuint8*_cert:十六進制數組的指int_cert_len:長uint8*private_key2048intprivate_key_len:私鑰長度,超過uint8*private_key_passwd:私鑰的提取,目前暫不支持,請傳入intprivate_key_passwd_len:提取的長度,目前暫不支持,請傳入0BEGINPRIVATEKEY那么對應的數組為:uint8key[]={0x2d0x2d0x2d0x2d0x2d0x420x45,0x47,0x00};即各字符的ASCII碼,請注意,數組必須添加0x00作為結尾。wifi_station_clear_enterprise_cert_keyvoidwifi_station_clear_cert_key無無wifi_station_set_enterprise_usernameintwifi_station_set_username(uint8*username,intuint8*usernameintlenwifi_station_clear_enterprise_usernamevoidwifi_station_clear_username無無,請先調用boolwifi_station_connect無boolwifi_station_disconnect無若為特殊應用場景:調用wifi_station_set_reconnect_關閉重連功能,且未調uint8wifi_station_get_connect_status無STATION_IDLE=0,APboolwifi_station_scan(structscan_config*config,scan_done_cb_tstructscan_configuint8* //AP’suint8*b //AP’sbuint8 //scanaspecificuint8show_hidden;//scanAPsofwhichishidden.wifi_scan_type_tscan_type;//scantype,activeorpassivewifi_scan_time_tscan_time;//scantimeperchannelstructscan_config*configAPconfig==nullAP若config.==null&&config.b==null&&config.ch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 展會宣傳推廣合同(2篇)
- 小賣鋪租賃合同(2篇)
- 2025年度建筑密封硅酮膠招標采購合同3篇
- 二零二五年度智慧城市物聯(lián)網設備采購合同2篇
- 二零二五版果園果樹種植技術指導與承包合同3篇
- 2024版短期貸款合同范例3篇
- 二零二五年度消防工程監(jiān)理合同2篇
- 二零二五年度建筑工程項目招投標與合同履約擔保服務合同3篇
- 二零二五版股權代持糾紛調解與風險防范合同5篇
- 二零二五年度不動產權屬轉移擔保合同3篇
- 2025年度影視制作公司兼職制片人聘用合同3篇
- 兒童糖尿病的飲食
- 2025屆高考語文復習:散文的結構與行文思路 課件
- 干細胞項目商業(yè)計劃書
- 浙江省嘉興市2024-2025學年高一數學上學期期末試題含解析
- 2024年高考新課標Ⅱ卷語文試題講評課件
- 回收二手機免責協(xié)議書模板
- 2023年系統(tǒng)性硬化病診斷及診療指南
- 外科醫(yī)師手術技能評分標準
- 《英語教師職業(yè)技能訓練簡明教程》全冊配套優(yōu)質教學課件
- 采購控制程序
評論
0/150
提交評論