久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
新唐M482單片機串口讀不到發(fā)送寄存器
[打印本頁]
作者:
jinni_wu
時間:
2021-8-5 17:00
標題:
新唐M482單片機串口讀不到發(fā)送寄存器
最近在調(diào)試新唐 M482串口,想去判斷發(fā)送數(shù)據(jù)是否發(fā)完,去讀里面的寄存器讀不到。
void SYS_Init(void)
{
/* Set XT1_OUT(PF.2) and XT1_IN(PF.3) to input mode */
PF->MODE &= ~(GPIO_MODE_MODE2_Msk | GPIO_MODE_MODE3_Msk);
/* Enable HXT clock (external XTAL 12MHz) */
CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);
/* Wait for HXT clock ready */
CLK_WaitClockReady(CLK_STATUS_HXTSTB_Msk);
/* Set core clock as PLL_CLOCK from PLL */
CLK_SetCoreClock(FREQ_100MHZ);
/* Set PCLK0/PCLK1 to HCLK/2 */
//CLK->PCLKDIV = (CLK_PCLKDIV_PCLK0DIV2 | CLK_PCLKDIV_PCLK1DIV2);
CLK->PCLKDIV = CLK_PCLKDIV_APB0DIV_DIV2 | CLK_PCLKDIV_APB1DIV_DIV2;
CLK_EnableModuleClock(EMAC_MODULE);
//CLK_EnableModuleClock(TMR2_MODULE);//time2_delay
// Configure MDC clock rate to HCLK / (127 + 1) = 1.5 MHz if system is running at 192 MHz
CLK_SetModuleClock(EMAC_MODULE, 0, CLK_CLKDIV3_EMAC(127));
// CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL1_TMR2SEL_HXT, 0);//time2_delay
SYS->GPC_MFPL |= SYS_GPC_MFPL_PC6MFP_EMAC_RMII_RXD1 | SYS_GPC_MFPL_PC7MFP_EMAC_RMII_RXD0;
SYS->GPC_MFPH |= SYS_GPC_MFPH_PC8MFP_EMAC_RMII_REFCLK;
SYS->GPE_MFPH |= SYS_GPE_MFPH_PE8MFP_EMAC_RMII_MDC |
SYS_GPE_MFPH_PE9MFP_EMAC_RMII_MDIO |
SYS_GPE_MFPH_PE10MFP_EMAC_RMII_TXD0 |
SYS_GPE_MFPH_PE11MFP_EMAC_RMII_TXD1 |
SYS_GPE_MFPH_PE12MFP_EMAC_RMII_TXEN;
// Enable high slew rate on all RMII TX output pins
PE->SLEWCTL = (GPIO_SLEWCTL_HIGH << GPIO_SLEWCTL_HSREN10_Pos) |
(GPIO_SLEWCTL_HIGH << GPIO_SLEWCTL_HSREN11_Pos) |
(GPIO_SLEWCTL_HIGH << GPIO_SLEWCTL_HSREN12_Pos);
}
char uart3_send(unsigned char psdt)
{
printf("\n==rs485_send==
UART_INTSTS_TXENDINT_Msk=%d,UART_INTSTS_TXENDIF_Msk=%d,UART_INTSTS_THREINT_Msk=%d,UART_INTSTS_THREIF_Msk=%d\n",UART3->INTSTS
& UART_INTSTS_TXENDINT_Msk,UART3->INTSTS &
UART_INTSTS_TXENDIF_Msk,UART3->INTSTS &
UART_INTSTS_THREINT_Msk,UART3->INTSTS & UART_INTSTS_THREIF_Msk);
printf("\n==rs485_send==
UART_FIFOSTS_TXEMPTYF_Msk=%d,UART_FIFOSTS_TXFULL_Msk=%d,UART_FIFOSTS_TXEMPTY_Msk=%d\n",UART3->FIFOSTS
& UART_FIFOSTS_TXEMPTYF_Msk,UART3->FIFOSTS &
UART_FIFOSTS_TXFULL_Msk,UART3->FIFOSTS &
UART_FIFOSTS_TXEMPTY_Msk);
//if (UART_GET_INT_FLAG(UART2, UART_INTSTS_TXENDINT_Msk))//發(fā)送完成中斷
{
UART_WRITE(UART3 , psdt);
return (1);
}
//else
//{
// return (0);
//}
}
void UART3_IRQHandler(void)
{
unsigned char rdat;
if(UART_GET_INT_FLAG(UART3, UART_INTSTS_RDAINT_Msk) )//RDA中斷
{
/* Get all the input characters */
while(UART_IS_RX_READY(UART3))
{
/* Get the character from UART Buffer */
rdat = UART_READ(UART3);
rs485_serial_interrupt(rdat);
}
/* Disable UART RDA/THRE/Time-out interrupt */
}
}
void UART3_Init(void)
{
/* Enable UART module clock */
CLK_EnableModuleClock(UART3_MODULE);//允許串口1模塊時鐘
/* Select UART module clock source as HXT and UART module clock divider as 1 */
CLK_SetModuleClock(UART3_MODULE, CLK_CLKSEL3_UART3SEL_HXT, CLK_CLKDIV4_UART3(1));//設置串口1時鐘為HXT
/* Set GPC multi-function pins for UART1 RXD (PC9)and TXD (PC10)*/
SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC9MFP_Msk | SYS_GPC_MFPH_PC10MFP_Msk);
SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC9MFP_UART3_RXD | SYS_GPC_MFPH_PC10MFP_UART3_TXD);
SYS_ResetModule(UART3_MODULE);//復位串口1
/* Configure UART1 and set UART1 baud rate */
UART_Open(UART3, 115200);
NVIC_EnableIRQ(UART3_IRQn);
UART_EnableInt(UART3, UART_INTEN_RDAIEN_Msk);//接收數(shù)據(jù)中斷
UART3->INTSTS = (UART_INTSTS_TXENDIF_Msk);
//UART_EnableInt(UART1, (UART_INTEN_RDAIEN_Msk|UART_INTEN_TXENDIEN_Msk));//接收數(shù)據(jù)中斷 發(fā)送完成中斷
//NVIC_SetPriority(UART1_IRQn, 0);//中斷優(yōu)先級
}
int main(void)
{
/* Unlock protected registers */
SYS_UnlockReg();
/* Init System, peripheral clock and multi-function I/O */
SYS_Init();
/* Lock protected registers */
SYS_LockReg();
/* Init UART0 for printf */
UART0_Init();//串口打印
UART3_Init();
WDT_Init();/* Init watchdog */
Kick_Dog();
while(1)
{
;
}
}
監(jiān)測這如下寄存器,不管有沒有數(shù)據(jù)發(fā)送下面打印出來的數(shù)據(jù)都是一樣
printf("\n==rs485_send==
UART_INTSTS_TXENDINT_Msk=%d,UART_INTSTS_TXENDIF_Msk=%d,UART_INTSTS_THREINT_Msk=%d,UART_INTSTS_THREIF_Msk=%d\n",UART3->INTSTS
& UART_INTSTS_TXENDINT_Msk,UART3->INTSTS &
UART_INTSTS_TXENDIF_Msk,UART3->INTSTS &
UART_INTSTS_THREINT_Msk,UART3->INTSTS & UART_INTSTS_THREIF_Msk);
printf("\n==rs485_send==
UART_FIFOSTS_TXEMPTYF_Msk=%d,UART_FIFOSTS_TXFULL_Msk=%d,UART_FIFOSTS_TXEMPTY_Msk=%d\n",UART3->FIFOSTS
& UART_FIFOSTS_TXEMPTYF_Msk,UART3->FIFOSTS &
UART_FIFOSTS_TXFULL_Msk,UART3->FIFOSTS &
UART_FIFOSTS_TXEMPTY_Msk);
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲国产成人久久综合一区,久久久国产99
|
亚洲色图第一页
|
亚洲高清免费观看
|
91精品久久
|
精品综合网
|
九九热精品视频在线观看
|
精品欧美一区二区三区久久久小说
|
日本a级大片
|
aaaa一级毛片
|
99成人精品
|
欧美一级大片
|
精品国产乱码久久久久久88av
|
亚洲欧美视频一区二区
|
成人在线视频免费播放
|
xx性欧美肥妇精品久久久久久
|
日韩在线成人
|
久久国产精品无码网站
|
日日操操
|
亚洲播放一区
|
精品一区二区三区在线观看国产
|
午夜小电影
|
av中文字幕在线
|
久久久人成影片一区二区三区
|
国产观看
|
欧美在线视频一区二区
|
精品av
|
天天干天天玩天天操
|
精品一区二区三
|
91在线观看视频
|
天天射天天干
|
国产精品久久久久久久久久久久久
|
久久久www
|
欧洲在线视频
|
国产欧美精品一区二区三区
|
久久久久久91
|
国产剧情一区
|
国产日韩精品一区
|
日韩视频免费在线
|
国产精品久久久久久婷婷天堂
|
国产精品成人在线播放
|
精区3d动漫一品二品精区
|