2021-09-12 13:03:55 索煒達電子 665
項目編號:E1091
文件大?。?.2M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述:
終于在這幾天摸索出來了DMA中斷發(fā)送+DMA中斷接收,同時集成到一起,網上資源少,不是說DMA資源少,是集成在一起的,又是F103系列的少,倒是有F4系列的,但是移植有問題。
DMADMA中斷發(fā)送+DMA中斷接收顧名思義我就是 在主程序里定時發(fā)送,并且接收到一幀后給CPU中斷接收,判斷接收的字符符合要求用LED的亮滅來控制,因為是一幀的中斷,而不是一個字節(jié),而且中斷后CPU就可以作別的事情了,大大節(jié)約了CPU資源,特別符合復雜系統的集成節(jié)約CPU資源。程序我會貼出來,給大家節(jié)約時間,這個就是從實際出發(fā)開發(fā)出來的,我馬上要在項目中用,非常實用。新建了DMA_USART3的文件,算是把低中的F103芯片3個串口充分利用了。另外,我還集成了SHT30的測溫模塊,主程序里面我注解掉了,自己可以調出來看。
目錄│文件列表:
└ lora終端-測溫-點陣-USART3-DMATXRX-20210721_2
└ lora終端-測溫-點陣-USART3-DMATXRX-20210721_2
│ keilkilll.bat
│ 版本更新說明.txt
├ CORE
│ │ core_cm3.c
│ │ core_cm3.h
│ │ startup_stm32f10x_hd.s
│ └ startup_stm32f10x_md.s
├ HARDWARE
│ ├ BREATH
│ │ │ BREATH.c
│ │ └ BREATH.h
│ ├ CRC8_16
│ │ │ crc8_16.c
│ │ └ crc8_16.h
│ ├ DMA_USART3
│ │ │ dma_usart3.c
│ │ └ dma_usart3.h
│ ├ IIC
│ │ │ myiic.c
│ │ └ myiic.h
│ ├ KEY
│ │ │ key.c
│ │ └ key.h
│ ├ LED
│ │ │ led.c
│ │ └ led.h
│ ├ MAX7219
│ │ │ max7219.c
│ │ └ max7219.h
│ ├ OLED
│ │ │ oled.c
│ │ │ oled.h
│ │ └ oledfont.h
│ ├ RS485
│ │ │ rs485.c
│ │ └ rs485.h
│ ├ TIMER
│ │ │ timer.c
│ │ └ timer.h
│ └ USART3
│ │ usart3.c
│ └ usart3.h
├ OBJ
│ │ core_cm3.crf
│ │ core_cm3.d
│ │ core_cm3.o
│ │ crc8_16.crf
│ │ crc8_16.d
│ │ crc8_16.o
│ │ delay.crf
│ │ delay.d
│ │ delay.o
│ │ dma_usart3.crf
│ │ dma_usart3.d
│ │ dma_usart3.o
│ │ ExtDll.iex
│ │ led.crf
│ │ led.d
│ │ led.o
│ │ main.crf
│ │ main.d
│ │ main.o
│ │ max7219.crf
│ │ max7219.d
│ │ max7219.o
│ │ misc.crf
│ │ misc.d
│ │ misc.o
│ │ myiic.crf
│ │ myiic.d
│ │ myiic.o
│ │ oled.crf
│ │ oled.d
│ │ oled.o
│ │ rs485.crf
│ │ rs485.d
│ │ rs485.o
│ │ startup_stm32f10x_hd.d
│ │ startup_stm32f10x_hd.o
│ │ stm32f10x_dma.crf
│ │ stm32f10x_dma.d
│ │ stm32f10x_dma.o
│ │ stm32f10x_gpio.crf
│ │ stm32f10x_gpio.d
│ │ stm32f10x_gpio.o
│ │ stm32f10x_it.crf
│ │ stm32f10x_it.d
│ │ stm32f10x_it.o
│ │ stm32f10x_rcc.crf
│ │ stm32f10x_rcc.d
│ │ stm32f10x_rcc.o
│ │ stm32f10x_tim.crf
│ │ stm32f10x_tim.d
│ │ stm32f10x_tim.o
│ │ stm32f10x_usart.crf
│ │ stm32f10x_usart.d
│ │ stm32f10x_usart.o
│ │ sys.crf
│ │ sys.d
│ │ sys.o
│ │ system_stm32f10x.crf
│ │ system_stm32f10x.d
│ │ system_stm32f10x.o
│ │ timer.crf
│ │ timer.d
│ │ timer.o
│ │ usart.crf
│ │ usart.d
│ │ USART.hex
│ │ usart.o
│ │ usart3.crf
│ │ usart3.d
│ │ usart3.o
│ │ USART_Target 1.dep
│ │ WIRELESS.axf
│ │ WIRELESS.build_log.htm
│ │ WIRELESS.hex
│ │ WIRELESS.htm
│ │ WIRELESS.lnp
│ │ WIRELESS.sct
│ │ WIRELESS.tra
│ └ WIRELESS_sct.Bak
├ STM32F10x_FWLib
│ ├ inc
│ │ │ misc.h
│ │ │ stm32f10x_adc.h
│ │ │ stm32f10x_bkp.h
│ │ │ stm32f10x_can.h
│ │ │ stm32f10x_cec.h
│ │ │ stm32f10x_crc.h
│ │ │ stm32f10x_dac.h
│ │ │ stm32f10x_dbgmcu.h
│ │ │ stm32f10x_dma.h
│ │ │ stm32f10x_exti.h
│ │ │ stm32f10x_flash.h
│ │ │ stm32f10x_fsmc.h
│ │ │ stm32f10x_gpio.h
│ │ │ stm32f10x_i2c.h
│ │ │ stm32f10x_iwdg.h
│ │ │ stm32f10x_pwr.h
│ │ │ stm32f10x_rcc.h
│ │ │ stm32f10x_rtc.h
│ │ │ stm32f10x_sdio.h
│ │ │ stm32f10x_spi.h
│ │ │ stm32f10x_tim.h
│ │ │ stm32f10x_usart.h
│ │ └ stm32f10x_wwdg.h
│ └ src
│ │ misc.c
│ │ stm32f10x_adc.c
│ │ stm32f10x_bkp.c
│ │ stm32f10x_can.c
│ │ stm32f10x_cec.c
│ │ stm32f10x_crc.c
│ │ stm32f10x_dac.c
│ │ stm32f10x_dbgmcu.c
│ │ stm32f10x_dma.c
│ │ stm32f10x_exti.c
│ │ stm32f10x_flash.c
│ │ stm32f10x_fsmc.c
│ │ stm32f10x_gpio.c
│ │ stm32f10x_i2c.c
│ │ stm32f10x_iwdg.c
│ │ stm32f10x_pwr.c
│ │ stm32f10x_rcc.c
│ │ stm32f10x_rtc.c
│ │ stm32f10x_sdio.c
│ │ stm32f10x_spi.c
│ │ stm32f10x_tim.c
│ │ stm32f10x_usart.c
│ └ stm32f10x_wwdg.c
├ SYSTEM
│ ├ delay
│ │ │ delay.c
│ │ └ delay.h
│ ├ sys
│ │ │ sys.c
│ │ └ sys.h
│ └ usart
│ │ usart.c
│ └ usart.h
└ USER
│ JLinkLog.txt
│ JLinkSettings.ini
│ main.c
│ startup_stm32f10x_hd.lst
│ stm32f10x.h
│ stm32f10x_conf.h
│ stm32f10x_it.c
│ stm32f10x_it.h
│ system_stm32f10x.c
│ system_stm32f10x.h
│ USART.uvgui.Administrator
│ USART.uvgui.Leland
│ USART.uvgui_Leland.bak
│ USART.uvopt
│ USART.uvproj
│ USART_Target 1.dep
│ USART_uvopt.bak
└ WIRELESS.map