161 lines
2.9 KiB
C
161 lines
2.9 KiB
C
|
|
#include "sys.h"
|
|||
|
|
#include "delay.h"
|
|||
|
|
#include "usart.h"
|
|||
|
|
#include "led.h"
|
|||
|
|
#include "key.h"
|
|||
|
|
|
|||
|
|
#include "LCD.h"
|
|||
|
|
#include "Dis_Picture.h"
|
|||
|
|
#include "Text.h"
|
|||
|
|
#include "GBK_LibDrive.h"
|
|||
|
|
|
|||
|
|
#include "mpu.h"
|
|||
|
|
#include "malloc.h"
|
|||
|
|
#include "w25qxx.h"
|
|||
|
|
#include "sdmmc_sdcard.h"
|
|||
|
|
|
|||
|
|
#include "usbd_core.h"
|
|||
|
|
#include "usbd_desc.h"
|
|||
|
|
#include "usbd_cdc.h"
|
|||
|
|
#include "usbd_cdc_interface.h"
|
|||
|
|
|
|||
|
|
//USB<53><42><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>
|
|||
|
|
|
|||
|
|
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41>⺯<EFBFBD><E2BAAF><EFBFBD>汾
|
|||
|
|
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
USBD_HandleTypeDef USBD_Device;
|
|||
|
|
extern PCD_HandleTypeDef hpcd;
|
|||
|
|
extern vu8 bDeviceState; //USB<53><42><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
int main(void)
|
|||
|
|
{
|
|||
|
|
u16 len;
|
|||
|
|
u16 times=0;
|
|||
|
|
u8 usbstatus=0;
|
|||
|
|
Cache_Enable(); //<2F><><EFBFBD><EFBFBD>L1-Cache
|
|||
|
|
MPU_Memory_Protection(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش洢<D8B4><E6B4A2><EFBFBD><EFBFBD>
|
|||
|
|
HAL_Init(); //<2F><>ʼ<EFBFBD><CABC>HAL<41><4C>
|
|||
|
|
Stm32_Clock_Init(160,5,2,4); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,400Mhz
|
|||
|
|
delay_init(400); //<2F><>ʱ<EFBFBD><CAB1>ʼ<EFBFBD><CABC>
|
|||
|
|
uart_init(115200); //<2F><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
|
|
|||
|
|
LED_Init(); //<2F><>ʼ<EFBFBD><CABC>LED
|
|||
|
|
KEY_Init(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
LCD_Init(); //<2F><>ʼ<EFBFBD><CABC>2.0<EFBFBD><EFBFBD> 240x320 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LCD<43><44>ʾ
|
|||
|
|
GBK_Lib_Init(); //Ӳ<><D3B2>GBK<42>ֿ<EFBFBD><D6BF><EFBFBD>ʼ<EFBFBD><CABC>--(<28><><EFBFBD><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
LCD_Clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
my_mem_init(SRAMIN); //<2F><>ʼ<EFBFBD><CABC><EFBFBD>ڲ<EFBFBD><DAB2>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
|
//my_mem_init(SRAMEX); //<2F><>ʼ<EFBFBD><CABC><EFBFBD>ⲿ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
|
my_mem_init(SRAMDTCM); //<2F><>ʼ<EFBFBD><CABC>CCM<43>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Draw_Font16B(16,16,RED," STM32H7 USB-USART ");
|
|||
|
|
Draw_Font16B(16,32,BLUE," Ƕ<><C7B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ");
|
|||
|
|
Draw_Font16B(16,48,BLUE,"mcudev.taobao.com");
|
|||
|
|
|
|||
|
|
Draw_Font24B(16,70,BLUE,"USB Connecting...");//<2F><>ʾUSB<53><42>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
USBD_Init(&USBD_Device,&VCP_Desc,0);
|
|||
|
|
|
|||
|
|
USBD_RegisterClass(&USBD_Device,USBD_CDC_CLASS);
|
|||
|
|
|
|||
|
|
USBD_CDC_RegisterInterface(&USBD_Device,&USBD_CDC_fops);
|
|||
|
|
|
|||
|
|
USBD_Start(&USBD_Device);
|
|||
|
|
|
|||
|
|
HAL_PWREx_EnableUSBVoltageDetector();
|
|||
|
|
|
|||
|
|
|
|||
|
|
while(1)
|
|||
|
|
{
|
|||
|
|
if(usbstatus!=bDeviceState)//USB<53><42><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>˸ı<CBB8>.
|
|||
|
|
{
|
|||
|
|
usbstatus=bDeviceState;//<2F><>¼<EFBFBD>µ<EFBFBD>״̬
|
|||
|
|
if(usbstatus==1)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
POINT_COLOR=BLUE;
|
|||
|
|
Draw_Font24B(16,70,BLUE,"USB Connected ");//<2F><>ʾUSB<53><42><EFBFBD>ӳɹ<D3B3>
|
|||
|
|
LED2(0);//D2<44><32>
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
POINT_COLOR=RED;
|
|||
|
|
Draw_Font24B(16,70,BLUE,"USB disConnected ");//<2F><>ʾUSB<53>Ͽ<EFBFBD>
|
|||
|
|
LED2(1);//D2<44><32>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if(USB_USART_RX_STA&0x8000)
|
|||
|
|
{
|
|||
|
|
len=USB_USART_RX_STA&0x3FFF;//<2F>õ<EFBFBD><C3B5>˴ν<CBB4><CEBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
|
usb_printf("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ:%d\r\n\r\n",len);
|
|||
|
|
VCP_DataTx(USB_USART_RX_BUF,len);;
|
|||
|
|
usb_printf("\r\n\r\n");//<2F><><EFBFBD>뻻<EFBFBD><EBBBBB>
|
|||
|
|
USB_USART_RX_STA=0;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
times++;
|
|||
|
|
if(times%5000==0)
|
|||
|
|
{
|
|||
|
|
usb_printf("\r\n STM32F4/F7/H7<48><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USB<53><42><EFBFBD><EFBFBD><E2B4AE>ʵ<EFBFBD><CAB5>\r\n");
|
|||
|
|
usb_printf("<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-mcudev.taobao.com \r\n\r\n");
|
|||
|
|
}
|
|||
|
|
if(times%200==0)usb_printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Իس<D4BB><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
|
|||
|
|
if(times%30==0)LED2_Toggle;//<2F><>˸LED,<2C><>ʾϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
delay_ms(10);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41>⺯<EFBFBD><E2BAAF><EFBFBD>汾
|
|||
|
|
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|