请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432P401M 工具/软件:Code Composer Studio
好的,我在 EPD_DELAY_ms()函数处被阻止,您是否看到其存在任何问题?
静态易失性 uint32_t sys_Counter、EPD_Counter; const eUSCI_SPI_MasterConfig spiMasterConfig = { EUSCI_B_SPI_CLOCKSOURCE_SMCLK、// SMCLK 时钟源 CPU_F、// SMCLK = 48Mhz COG_SPI_波特 率、// SPICLK = 12MHz EUSCI_B_SPI_MSB_FIRST、// MSB First EUSCI_B_SPI_PHASE_DATA_Changed_ONFIRST_Captured_On_Next、// Phase EUSCI_B_SPI_CLOCKPOLARITY_INACT_HIGH、//高极性 EUSCI_B_SPI_3引脚// 3线 SPI 模式 }; void main (void) { //system_init(); /*停止看门狗*/ MAP_WDT_A_HOLDTimer(); /*为 DCO 频率计算启用 FPU */ map_fpu_enableModule(); /*将 DCO 设置为48MHz (升级 Vcore)*/ MAP_PCM_setCoreVoltageLevel (PCM_VCORE1); MAP_FlashCtl_setWaitState (FLASH_BANK0、1); MAP_FlashCtl_setWaitState (FLASH_BANK1、1); //map_CS_setDCOCenteredFrequency (CS_DCO_FREQUENCY 48); cs_setExternalClockSourceFrequency (32000、48000000); CS_startHFXT (false); /*将 MCLK 初始化为 HFXT (有效48MHz)*/ MAP_CS_initClockSignal (CS_MCLK、CS_HFXTCLK_SELECT、CS_CLOCK_DEVIDER_1); EPD_DISPLAY_INIT(); SysTick 配置(); EPD_DELAY_ms (1000); Set_AssignEPD_Drive (EPD_Type、EPD_SIZE、USE_Temperature_Sensor); EPD_DISPLAY_GU_FITH_POINTER (Image2、Image1、GU_Mode、true); EPD_DELAY_ms (5000); EPD_DISPLAY_GU_FITH_POINTER (Image1、Image2、GU_Mode、true); EPD_DELAY_ms (5000); } void display_init (void) { EPD_DISPLAY_hardware_init (); PWD_STU=false; Cur_Mode=gu_Mode; } void EPD_DISPLAY_hardware_init (void) { EPD_INIT_GPIO(); EPD_Vcc_turn off (); EPD_SPI_low (EPD ( );EPD_r000 (EPD);EPD_r000_low_rcs EPD_DELOAD_LOW (); } void SysTK_Configuration (void) { //将 SysTick 配置为在48000时触发(MCLK 为48MHz、因此 这将*每~1ms 进行一次切换)*/ MAP_SysTK_enableModule (); MAP_SysTK_setPeriod (((CPU_F/1000)); MAP_Interrupt _enableSysTick (= 0);MAP_enableSysTick Interrupt = Isrupt_enable0_enableCounter MAP_Interrupt_enableMaster (); } uint32_t getnowtime (void) { return sys_Counter; } //** *\brief Start Timer *\note *所需值:1mSec *实际值:1.00mSec */ void SysTick 配置(void) { //将 SysTick 配置为48000 (MCLK 为48MHz); ~ 使能映射模块(* 1);使能 eMTO_1000 (*);使能 eMUST_eMTOM (* 1) MAP_SysTK_enableInterrupt (); SYS_Counter =0; MAP_Interrupt_enableMaster(); } void SysTick 处理程序(void) { SYS_Counter++; } void SysTK_ISR (void) { sys_Counter++; } void SysTK_Stop (void) { map_SysTK_disableInterrupt (); map_SysTK_disableModule (void); } void SysTK_Start (void) { EPD stick_Configuration (void);}*\brief Start 计时器*\note*\note= 1 mSecr * 1、1、1、需要的 SysTick (void)*值:1、sys_start) /** *\brief 停止计时器 */ void stop_void _timer (void) { } /** \brief 在启动新计时器后获取当前计时器 */ uint32_t get_EPD_time_tick (void) { return (sys_Counter-EPD_Counter); } /** *\brief delay mins *\param ms MINI-seconds (min_start )(insigned) while (get_EPD_TIME_TICK ()<=ms) { } void EPD_SPI_init (uint32_t SPI_bAURATE) { //在 SPI 模式下选择 P1.5 P1.7和 P1.6 * GPIO_setPeripheralModuleFunctionInputPin (SPICLK_PORT、 SPICLK_PIN | SPIMISO_PIN | SPIMOSI_PIN、GPIO_PRIMARY_MODULE_FUNCTION); //在3线主控模式下配置 SPI */ SPI_STATE=SPI_INITMASTER (EUSCI_B0_BASE、&SPIMMasterConfig); // 启用 SPI 模块*// if (SPI_STATESI_ENABLEMODULE 模块 ;EUSCI_BASE) 0_BUSCI_ENABASE (EUSCI_ENABSIMPLE_0);//启用 SPI 模块*
它在 void EPD_DELAY_ms (unsigned int ms)中被阻止、也无法使用 SPI、您在这里看到了任何可见的问题吗? 如果您需要代码的其他部分、请这么说。
谢谢