




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、ESP8266SDKESP8266SDKEspressif Systems IOT Copyright(c) Wi-FiWi- 2015 Espressif Systems Friday,June12, Tableof Tableof 3.1. 3.2. Espressif Systems Friday,June12, 1SPIFlashWi-Fi Espressif Systems Friday,June12, Espressif Systems Friday,June12, wifi_get_broadcast (FOTA)Sni#ersmart config SNTP Espressif
2、 Systems Friday,June12, SNTPTCP/UDP TCPEspressif Systems Friday,June12, UDPmDNS Espressif Systems Friday,June12, JSON Espressif Systems Friday,June12, WiFisionsoft-AP scanWiFieventsmart config json jsonjsonespconn GPIO PINGPIOGPIOGPIOUARTI2CMaster Espressif Systems Friday,June12, ESPCONN TCPC ntTCPS
3、erverespconn RTC APIs Sni#erESP8266soft-APionEspressif Systems Friday,June12, ESP8266EX Wi-Fi ESP8266EX Wi-Fi Wi-Fi ESP8266 Wi-Fi CHB ESP8266EX GPIO SDK ESP8266EX ESP8266EX Espressif Systems Friday,June12, SDK user_main.c SDK user_main.c SDK_v1.1.0 user_main.c void IOT_Demo user_main.c user_rf_pre_i
4、nit RF RF system_phy_set_rfoption RF ion soft-AP SDK json OS SDK task task CPU taskCPU10Wi-Fi!OSSDKR RTOS SDKOS task task Espressif Systems Friday,June12, 3.1. 3.1. os_timer timeros_timer_armos_timer_arm_us os_timer_disarm Espressif Systems Friday,June12,void os_timer_arm ( ETSTimer*ptimer,32_tmilli
5、seconds, bool repeat_flag)ETSTimer *ptimer : 32_t milliseconds : system_timer_reinit system_timer_reinit bool repeat_flag : Espressif Systems Espressif Systems Friday,June12, system_timer_reinit user_init voidsystem_timer_reinitvoid os_timer_setfn( ETSTimer *ptimer, ETSTimerFunc*pfunction, void *par
6、g)ETSTimer *ptimer : TESTimerFunc*pfunction: void *parg : voidos_timer_disarm(ETSTimerETSTimer *ptimer : driver_lib “readme.txt” driver_lib “readme.txt” NMI hw_timer_arm 100 NMI FRC1 hw_timer.cEspressif Systems Friday,June12, ISR user_init voidos_timer_arm_us( ETSTimer *ptimer,32_tmicroseconds, bool
7、 repeat_flag)ETSTimer *ptimer : 32_t microseconds : 0 x64 F bool repeat_flag : Espressif Systems Espressif Systems Friday,June12,voidhw_timer_set_func(void(*user_hw_timer_cb_set)(void)voidhw_timer_arm3232val: 1 FRC1_SOURCE : 50 0 x7ff; I NMI_SOURCE : 100 0 x7ff; : 10 0 x7ff;void hw_timer_init ( FRC1
8、_TIMER_SOURCE_TYPEsource_type, u8 req)FRC1_TIMER_SOURCE_TYPEsource_type: ISRFRC1_SOURCE, FRC1NMI_SOURCE, NMIu8req: 0,1, Espressif Systems Espressif Systems Friday,June12,wifi_sion_set_auto_connect, wifi_set_phy_mode, wifi_softap_set_config , wifi_sion_set_config , wifi_set_opmode, e AP_CACHE P #defi
9、ne REG_READ(_r)(*(volatile u32*)(_r) #define WDEV_NOW()32tick_now2=voidic u16j=0; if( (WDEV_NOW() - tick_now2) = 1000000 ic u32 idx = 1; tick_now2=WDEV_NOW();j = 0;void ICACHE_FLASH_ATTR void (* user_hw_timer_cb_set)(void) : Espressif Systems Espressif Systems Friday,June12, user_init wifi_sion_scan
10、 sn voidsystem_init_done_cb(init_done_cb_tinit_done_cb_t cb : void to_scan(void) wifi_sion_scan(null,scan_done); void user_init(void) voidvoid Espressif Systems Espressif Systems Friday,June12, TOUT 6 1/1024 system_adc_read TOUT TOUT 0byte(vdd33_const) VDD3P3 3 4 “vdd33_const“ 0.1VESP8266 “vdd33_con
11、st“18, VDD3P3 3 4 1/1024 system_get_vdd33 TOUT TOUT esp_init_data_default.bin0127byte 107 “vdd33_const“ 0 xFF 16VDD33 1/1024 32system_get_chip_id Espressif Systems Espressif Systems Friday,June12, deep-sleep API system_deep_sleep bool8 8optiondeep_sleep_set_option(0): esp_init_data_default.bin(0127b
12、yte) byte deep-sleep deep_sleep_set_option(1): deep-sleep deep_sleep_set_option(2): deep-sleep RF_CAL deep_sleep_set_option(4):deep-sleep RF modem-sleep p user_init XPD_DCDC 0R EXT_RSTB deep-sleepsystem_deep_sleep(0) GPIO RSTvoid3232 time_in_us : 16TOUT 6 1/1024 Espressif Systems Espressif Systems F
13、riday,June12, RF er void88 max_tpw : RF Tx 127byte 34 byte (er_qdb_0) 0.25dBm ESP8266 RF API user_rf_pre_init system_deep_sleep_set_option system_deep_sleep_set_option void8 8optionsystem_phy_set_rfoption(0) : esp_init_data_default.bin(0127byte) 108 deep-sleep system_phy_set_rfoption(1) : deep-sleep
14、 system_phy_set_rfoption(2) : deep-sleep system_phy_set_rfoption(4) : deep-sleep RF true :false: Espressif Systems Espressif Systems Friday,June12, void_meminfo logvoid8 8 onoff=0: onoff=1: 3 F Xer4 V TOUT VDD33 system_get_vdd33 TOUT system_get_vdd33 VDD33void1616 vdd33 : VDD33 1/1024V1900, Espressi
15、f Systems Espressif Systems Friday,June12,bool system_os_task( )os_task_t task : 8 prio : 3 : 0/1/2; 0 os_event_t *queue : 8 qlen : true: false: heap3232: heap tEspressif Systems tEspressif Systems Friday,June12,bool system_os_t( 8 prio, os_signal_t sig, os_param_t par)8: os_signal_t sig : os_param_
16、tpar :true: false:voidt(void)t(USER_TASK_PRIO_0,SIG_RX,#define#defineTEST_QUEUE_LEN os_event_tvoidtest_task(os_event_t*e) switch (e-sig) casef(sig_rx%c/n,(char)e-par); voidtask_init(void)testQueue=(os_event_t*)os_malloc(sizeof(os_event_t)*TEST_QUEUE_LEN); Espressif Systems Espressif Systems Friday,J
17、une12, RTCRTC system_get_rtc_time 10( 10 RTC), system_rtc_clock_cali_proc 5.75( 1 RTC 5.75 10 x5.75=57.5system_restart RTC CHIP_EN deep-sleepRTCEXT_RST: RTC memory RTC timer watchdogreset:RTCmemoryRTCtimersystem_restart: RTC memory RTC timer :RTCmemoryRTCtimerCHIP_EN : RTC memory RTC timer 3232sig_r
18、x Espressif Systems Espressif Systems Friday,June12, deep-sleep RTC RTCmemory userdata 512bytes|-user256512RTCmemory 4$(-(: des_addr block block4$ userdata) 3 12 RTCRTC Espressif Systems Espressif Systems Friday,June12,UART0 MTCK UART0RXMTDO UART0TX MTDO(U0CTS)MTCK(U0RTS) UART0 UART0 ROMvoidsystem_u
19、art_swap RTCmemory userdata 512bytes|-user256512RTC memory 4 src_addr block boolsystem_rtc_mem_read( 32 src_addr,void*des_addr, 32)32src_addr :/ rtcmemory 3=64 void * des_addr : 32 save_size : true: false:32des_addr :rtcmemorydes_addr void * src_addr : true: false: Espressif Systems Friday, Espressi
20、f Systems Friday,June12, userbin(user1.bin user2.bin)32system_get_userbin_addr boot8 boot = 3 boot ( UART0 UART0 MTCKMTDO voidsystem_uart_de_swap Espressif Systems Espressif Systems Friday,June12,Boot boolsystem_restart_enhance( 8 bin_type,32)8bin_type:bin#defineSYS_BOOT_NORMAL_BIN 0 /user1.bin user
21、2.bin #define SYS_BOOT_TEST_BIN 1/ Espressif test 32bin_addr:bintrue: false: boot8system_get_boot_mode#defineSYS_BOOT_ENHANCE_MODE#defineSYS_BOOT_NORMAL_MODE boot userbin Espressif Systems Friday, Espressif Systems Friday,June12, flashsize flashflash map “2A-ESP8266 enum flash_size_map FLASH_SIZE_4M
22、_MAP_256_256=0, &8 CPU 8 CPU , : CPU bool8 8 freq : CPU frequency #defineSYS_CPU_80MHz 80#defineSYS_CPU_160MHztrue: false:SYS_BOOT_TEST_BIN Espressif Systems Espressif Espressif Systems Friday,June12,enumrst_reason= 0,/ normal startup byeron = 1,/ hardware watch dog reset/ exception reset, GPIO susw
23、ontchange = 2,/ software watch dog reset, GPIO suswontchange = 3,/ software restart ,system_restart , GPIO suswontchange = 4,= /wakeupfromdeep-structrst_info32 reason;/enumrst_reason 32 exccause;32323232enumflash_size_mapflash Espressif Systems Espressif Systems Friday,June12, C os_memcpy(void*des,v
24、oid*src,size_tvoid *des - size_tn- C -. 91, os_memset(voidch,size_tvoid *s - ch-size_tn-8os_memset(buffer,0,32structrst_info* fEspressif Systems fEspressif Systems Friday,June12, UART 0 IOT_Demo uart_init 1(void *)uart1_write_char) f UART 1 voidf(constcharconstchar*s-f(“SDK:%sn”, C os_strlen(charcha
25、r*s-char= , 8buffer4=os_memcpy(buffer,“abcd”, 1Espressif Systems 1Espressif Systems Friday,June12,void1(void(*p)(charvoid(*p)(char c) - IOT_Demouart_init 1(void*)uart1_write_char)os_prf T 1 os_prf T 0 65535 void1616us- p n voidos_bzero(void*p,size_tvoid *p - size_t n - SPI Flash SPI Flash Espressif
26、Systems Friday,June12, flashflash 4flash “Espressif IOT Flash flashflash “Espressif IOT Flash SpiFlashOpResultspi_flash_erase_sector1616 sec : 0 typedef spiflash 32spi_flash_get_idspiflash Espressif Espressif Systems Friday,June12, flashflash 4SpiFlashOpResultspi_flash_read( 32 src_addr,32*des_addr,
27、 32 size)32 src_addr: flash32 *des_addr: 32 typedef enum 32SpiFlashOpResultspi_flash_write( 32 des_addr,3232)32des_addr : flash32 *src_addr : 32 size: typedef Espressif Systems Espressif Systems Friday,June12, flash flash 4 flash 3 sector 4KB sector 1 sector sector 0 sector 1 sector 2 flag sector0 s
28、ector flashflash 4 flash 3 sector 4KB sector 1 sector sector 0 sector 1 sector 2 flag sector0 sectorflash “99A-SDK-Espressif IOT Flash RW HYPERLINK http:/viewtopic/ boolsystem_param_save_with_protect( 16 start_sec,void*param, 16 len)16start_sec : 3 sector sector0IOT_Demo 0 x3D000 3 sector3*4 start_s
29、ec 0 x3Dvoid *param : 16 len : 1 sector 4 * 8*addr=8 spi_flash_read(0 x3E*SPI_FLASH_SEC_SIZE,32*)addr,f(0 x3Esec:%02x%02x%02x%02xrn,addr0,addr1,addr2, Espressif Systems Espressif Systems Friday,June12, SPIflashread SPI overlap voidspi_flash_set_read_func(user_spi_flash_readuser_spi_flash_readread SP
30、IflashreadtypedefSpiFlashOpResultflash “99A-SDK-Espressif IOT Flash RW HYPERLINK http:/viewtopic/ boolsystem_param_load1616offset, void *param,16)16start_sec : 3 sector sector0sector1 sector2IOT_Demo 0 x3D000 3 sector3*4 start_sec 0 x3D 0 x3E 16offset : sector: 16: 1 sector offset+len # ion ion ion
31、“ flash ” flash Espressif Systems Friday,June12, flash WiFi8 wifi_get_opmode_default WiFi8wifi_get_opmode0 x01:ion0 x02:soft-AP0 x03:ion+soft-APSpiFlashChip*spi, 32 src_addr,32*des_addr, 32 size) Espressif Systems Espressif Systems Friday,June12, i sionP sion+soft-AP flashboolwifi_set_opmode_current
32、88opmode:WiFi0 x01: sion 0 x02: soft-AP 0 x03: s i sionP sion+soft-AP flash soft-AP esp_iot_sdk_v0.9.2 flash boolwifi_set_opmode88opmode:WiFi0 x01: sion 0 x02: soft-AP 0 x03: strue: false:0 x01:ion0 x02:soft-AP0 x03:ion+soft-AP Espressif Systems Friday,June Espressif Systems Friday,June12, WiFiion i
33、on wifi_sion_set_config user_init 6 sn ion_connect WiFiion flash boolion_get_config_default(struction_configstruction_config*config:WiFiion true: false: WiFiion boolion_get_config(struction_configstruction_config*config:WiFiion true: false:true: false: Espressif Systems Espressif Systems Friday,June
34、12, WiFiion ion _set 0 AP MAC AP flash boolion_set_config(struction_configstruction_config*config:WiFiion true: false:void32char password64 = PASSWORD; struct sion_config s_set=0; /neednotcheckMACaddressof, 32); ionConf.password,password,64); voidIONAP_MODE); /Set softAP + sionmode Espressif Systems
35、 Espressif Systems Friday,June12,ESP8266WiFiion AP user_init 6 sn ESP8266WiFiion user_init 6 sn 6 AP wifi_sion_disconnect boolion_connecttrue: false: ion_set_config_current user_init ion wifi_sion_connect ion_connect _set 0 AP MAC AP boolion_set_config_current(struction_configstruction_config*config
36、:WiFiion true: false: Espressif Systems Friday, Espressif Systems Friday,June12, AP user_init 6 sn boolion_scan(structscan_config*config,scan_done_cb_t ESP8266WiFiion AP8 usION_IDLE=boolion_disconnecttrue: false: Espressif Espressif Systems Friday,June12,ion_scan voidscan_done_cb_t(void*arg,USvoid *
37、arg: AP SUS sus: ion_scan(&config,ic void ICACHE_FLASH_ATTR scan_done(void *arg, SUS sus) if (sus = OK) structbss_info*bss_link=(structbss_info*)arg; bss_link = bss_link-next.stqe_next; /ignorestructscan_config8 /8 /APs8 /scanaspecific8show_hidden; /scanAPsofisstructscan_config*config: AP config=nul
38、l: AP config.=null & config.b=null&config.channel!=null: ESP8266 sion AP . config.!=null & config.b=null&config.channel=null: ESP8266ion AP scan_done_cb_tcb: true: false: Espressif Systems Friday, Espressif Systems Friday,June12,ESP8266ion AP boolion_ap_change8 8new_ap_id:AP id 0 ion AP 5 8 ion_get_
39、ap_info(struction_configstruction_configconfig:AP APstruction_configi = ion AP 6 sn P P d flash boolion_ap_number_set88 ap_number: AP ( true: false: Espressif Systems Friday,June Espressif Systems Friday,June12, ion AP user_init flash bool8 ion AP 8 AP Non-0: AP AP id ESP8266 AP 0 8 ion_get_current_
40、ap_id AP id true: false: Espressif Systems Espressif Systems Friday,June12, ESP8266ionDHCP1DHCP 2DHCP IPDHCP IP IP DHCP bool ESP8266ionDHCP1DHCP 2DHCP IP DHCP IP IP booltrue: false:8set: 0: AP1: true: false: Espressif Systems Friday,June Espressif Systems Friday,June12, ion AP ion AP user_initbool b
41、ool set - true, ESP8266ionDHCPntenumusenum dhcp_sus true: false: Espressif Systems Friday, Espressif Systems Friday,June12, ESP8266 WiFi soft-AP ion DHCP char* ion DHCP boolion_get_hostname(char*char*hostname 328 event); switch (evt-event) f(connect%s,channelevt-,f(disconnect%s,reasonevt-,f(mode:%d-
42、casef(ip:IPSTR,mask:IPSTR,gw:caseion:MACSTRjoin,AID=Espressif Systems Friday,June12, Espressif Systems Friday,June12,caseion: MACSTR leave, AID = %dn, void/TODO:addyourowncode Espressif Systems Friday,June12,8 system_upgrade_start spi_flash_write flash flagUPGRADE_FLAG_FINISH system_upgrade_reboot v
43、oid8 8 #defineUPGRADE_FLAG_IDLE 0 x00 #defineUPGRADE_FLAG_START 0 x01 #defineUPGRADE_FLAG_FINISH user8 0 x00:UPGRADE_FW_BIN1,i.e.0 x01:UPGRADE_FW_BIN2,i.e. Espressif Systems Espressif Systems Friday,June12,voidsystem_upgrade_rebootboolsystem_upgrade_start(structupgrade_server_infostruct upgrade_serv
44、er_info *server : true:false: #defineUPGRADE_FLAG_IDLE 0 x00 #defineUPGRADE_FLAG_START 0 x01 #defineUPGRADE_FLAG_FINISH Sniffer SnifferEspressif Systems Friday,June12, sniffer MACMAC sniffer sniffer sniffer MACvoidwifi_promiscuous_set_mac(const8_tconst8_t*address: MAC1 ESP8266 ion 26 sn P 3 ion_disc
45、onnect4 API wifi_promiscuous_enable(0 void8 8promiscuous: 0:1: EspressifSystems sniffer Espressif Systems Espressif Systems Friday,June12, boolwifi_set_channel88channel: true: false: 8 voidwifi_set_promiscuous_rx_cb(wifi_promiscuous_cb_twifi_promiscuous_cb_t cb : charap_mac6=0 x16,0 x34,0 x56,0 x78,
46、0 x90, smart config Espressif Systems Friday,June12, 6 sn 6 P d d 1 ion2smartconfig ESP8266 ion soft-AP3smartconfig_start smartconfig_start smartconfig_stop 4smartconfig API boolsmartconfig_start( sc_type type, sc_callback_t cb,8 )sc_typetype : :AirKiss ESP-TOUCH sc_callback_t cb : smartconfig sus g
47、 : us US_LINK void*pdata struction_config us US_LINK_OVER void *pdata IP 4 ESPTOUCH us void *pdata 8log:1:UART;:UARTtrue: false:sc_type voidusus,voidcaseus)case SC_Scasecase voidusus,voidcaseus)case SC_Scasecasesion_config*sta_conf=caseif(SC_Type=SC_TYPE_ESPTOUCH)u8phone_ip4=memcpy(phone_ip,8*)pdata
48、,f(Phoneip:= Espressif Systems Friday,June12, SNTP SNTPEspressif Systems Friday,June12, SNTP IP ip_addr_tsntp_getserver(unsignedcharunsignedcharidx : SNTP 3 SNTP0 IP SNTP 3 SNTP voidsntp_setserver(unsignedcharidx,ip_addr_tunsignedcharidx : SNTP 3 SNTP0201 2ip_addr_t *addr : IP SNTP smartconfig_start
49、 AP smartconfig_startbooltrue: false: Espressif Systems Espressif Systems Friday,June12,void SNTP sntp_setservername SNTPchar*sntp_getservername(unsignedcharunsignedcharidx : SNTP 3 SNTP0 SNTP 3 SNTP voidsntp_setservername(unsignedcharidx,charunsignedcharidx : SNTP 3 SNTP0201 2: SNTP IP Espressif Sy
50、stems Friday, Espressif Systems Friday,June12,GMT + char*sntp_get_real_time(longlong t - 1970.01.01 000000 GMT + 32void SNTP SNTPEspressif Systems Friday,June12,ip_addr_t *addr = (ip_addr_t *)os_zalloc(sizeof(ip_addr_t); sntp_setservername(0, ”us.pool.ntp.”); / set server 0 bysntp_setservername(1, ”
51、); / set server 1 byipaddr_aton(“4”, addr);sntp_setserver(2,addr);/setserver2byIPaddress 32= f(“sntp:%d,%s, boolsntp_set_timezone 8 8 timezone -11 if(true=sntp_set_timezone(-5) TCP/UDP : TCP TCP/UDP : TCP UDP TCP APIs: TCP UDP APIs: UDP mDNSAPIs: mDNS Espressif Systems Friday,June12,DNSTCP:espconn_a
52、ccept, UDP:espconn_create8espconn_delete(structespconnstruct espconn *espconn : : ESPCONN_ARG - espconn Espressif Espressif Systems Friday,June12, 32err_t espconn_gethostbyname( structespconn*pespconn, const char *hostname, ip_addr_t *addr, dns_found_callback found)struct espconn *espconn : const ch
53、ar *hostname: ip_addr_t *addr: IP dns_found_callback found : DNS err_t:ESPCONN_OK-ESPCONN_ISCONN - ESPCONN_ARG - espconn ip_addr_tLOCALvoiduser_esp_platform_dns_found(constchar*name,ip_addr_t*ipaddr,voidstruct espconn *pespconn = (struct espconn *)arg; f(user_esp_platform_dns_found%d.%d.%d.%d/n,8*)&
54、ipaddr-addr),8*)&ipaddr-addr+8*)&ipaddr-addr+2),8*)&ipaddr-addr+voiddns_test(void),&esp_server_ip, Espressif Systems Espressif Systems Friday,June12, espconn_regist_sentcb 8 espconn_regist_recvcb( struct espconn *espconn, espconn_recv_callbackrecv_cb)struct espconn *espconn : espconn_connect_callbac
55、k connect_cb : : ESPCONN_ARG - espconn 8 espconn_regist_sentcb( struct espconn *espconn, espconn_sent_callbacksent_cb)struct espconn *espconn : espconn_sent_callback sent_cb : : ESPCONN_ARG - espconn Espressif Systems Espressif Systems Friday,June12, WiFi espconn_sent_callback espconn_regist_recvcb
56、voidespconn_recv_callback( void *arg,char *pdata, unsignedshortlen)void*arg: espconn espconn remote_ip, remote_port char *pdata : unsigned short len : voidespconn_sent_callback(voidvoid *arg : espconn espconn remote_ip, remote_port TCPTCP TCP TCPTCP TCP Espressif Systems Friday,June12, SSLTCPserver
57、SSL TCP8espconn_accept(structespconnstruct espconn *espconn : : ESPCONN_ARG- espconn TCPESPCONN_MEM - ESPCONN_ISCONN - 8 structespconn*espconn, 8 *psent,16)struct espconn *espconn : 8:16length : ESPCONN_ARG - espconn ESPCONN_MEM - Espressif Espressif Systems Friday,June12, espconn_accept 06 P r P cn
58、t8 structespconn*espconn, 8 )struct espconn *espconn : erval : 7200 8 type_flag : 0 TCP 1 TCP ) L server L cnt(2) SSL espconn_secure_set_sizeESP8266SSL (3) SSL TCP SSL 8espconn_secure_accept(structespconnstruct espconn *espconn : : ESPCONN_ARG- espconn TCPESPCONN_MEM - ESPCONN_ISCONN - Espressif Sys
59、tems Espressif Systems Friday,June12, TCPserver(ESP8266 TCP8espconn_connect(structespconnstruct espconn *espconn : : ESPCONN_ARG- espconn TCPESPCONN_MEM - ESPCONN_ISCONN - ESPCONN_RTE - P 6 P r P ct 8espconn_get_connection_info( struct espconn *espconn, remot_info *pcon_info,8 )struct espconn *espco
60、nn : remot_info*pcon_info :connecttont8 :0,regularserver;1,ssl: ESPCONN_ARG - espconn TCP : ESPCONN_ARG - espconn TCP Espressif Espressif Systems Friday,June12, TCP espconn_regist_connectcb ESP8266 server TCP cnt ESP8266 TCP cnt TCP server voidespconn_connect_callback(voidvoid *arg : espconn espconn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 艦橋上行走的規(guī)則
- 城市綜合管廊建設與管理解決方案
- 環(huán)境科學中關于全球氣候變化試題
- 企業(yè)ERP系統(tǒng)集成服務項目合同
- 地理信息系統(tǒng)應用知識點梳理與考核試題集
- 建筑結構與建筑設計練習題庫
- 現(xiàn)代管理學原理應用問題解析題
- 企業(yè)研發(fā)投入與轉化效率對比表
- 建筑工程施工承包協(xié)議
- 個性化學習服務平臺構建及實施方案設計
- 數(shù)學家的故事華羅庚
- 山塘維修加固工程監(jiān)理實施細則
- VDA6.3:2023 汽車核心工具自我評估測試題庫真題 (含答案)
- 殯儀服務員考試殯儀服務員考試考點模擬考試練習
- 外國文學理論知到章節(jié)答案智慧樹2023年湖南師范大學
- 【建模教程】-數(shù)學建模教案
- 全口義齒修復有關的基本知識 全口義齒固位和穩(wěn)定
- 2023年湖南食品藥品職業(yè)學院高職單招(數(shù)學)試題庫含答案解析
- GB/T 2481.1-1998固結磨具用磨料粒度組成的檢測和標記第1部分:粗磨粒F4~F220
- GB/T 20878-2007不銹鋼和耐熱鋼牌號及化學成分
- 第2課《說和做》課件-部編版語文七年級下冊
評論
0/150
提交評論