久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1135|回復: 0
打印 上一主題 下一主題
收起左側

hc32l130串口使用內部時鐘程序問題

[復制鏈接]
跳轉到指定樓層
樓主
hc32l130使用內部晶振,開啟串口發送和接受功能,串口工具發送數據給mcu,程序debug并沒有進入到中斷,下面是啟用內部時鐘并開啟串口功能完整單片機代碼。
  1. #include "ddl.h"
  2. #include "uart.h"
  3. #include "gpio.h"
  4. #include "flash.h"
  5. #include "sysctrl.h"


  6. #define T1_PORT     (3)
  7. #define T1_PIN      (3)
  8. volatile static uint8_t u8RxData;
  9. volatile static uint8_t u8TxCnt = 0;
  10. volatile static uint8_t u8RxCnt = 0;

  11. void App_UartCfg(void);
  12. void App_PortInit(void);
  13. void App_ClkCfg(void);

  14. int32 t main (void)
  15. {
  16. App_ClkCfg () ;

  17. App_PortInit () ;

  18. App_UartCfg();
  19. while (1)
  20. {
  21. if(u8RxCnt>=1)
  22.     {
  23.     u8RxCnt = 0;

  24.     Uart_SendDataIt(MOP_UART1, ~u8RxData);
  25.     }
  26. }

  27. }


  28. void App_ClkCfg(void)
  29. {
  30.     stc_sysctrl_clk_cfg_t sysctrl_clk_cfg;

  31.     Sysctrl_SetPeripheralGate(SysctrlPeripheralFlash, TRUE);

  32.     Flash_WaitCycle(FlashWaitCycle0);

  33.     sysctrl_SetRCHTrim(SysctrlRchFreq8MHz);

  34.     sysctrl_clk_cfg.enClkSrc = SysctrlClkRCH;
  35.     sysctrl_clk_cfg.enHClkDiv = SysctrlHclkDiv1;
  36.     sysctrl_clk_cfg.enPClkDiv = SysctrlPclkDiv1;

  37.     Sysctrl_ClkInit(&sysctrl_clk_cfg);
  38. }

  39. void Uart1_IRQHandler(void)
  40. {
  41.     if(Uart_GetStatue(M0P_UART1, UartRC))
  42.         {
  43.             Uart_ClrStatus(M0P_UART1, UartRC);
  44.             u8RxData = Uart_ReceiveData(M0P_UART1);
  45.             u8RxCnt++;
  46.         }
  47.     if(Uart_GetStatus(M0P_UART1, UartTC))
  48.         {
  49.             Uart_ClrStatus(M0P_UART1, UartTC);
  50.             u8TxCnt++;
  51.         }

  52. }


  53. void App_PortInit(void)
  54. {
  55.     stc_gpio_cfg_t stcGpioCfg;
  56.     DDL_ZERO_STRUCT(stcGpioCfg);
  57.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);

  58.     stcGpioCfg.enDir = GpioDirOut;
  59.     Gpio_Init(GpioPortA, GpioPin2, &stcGpioCfg);
  60.     Gpio_SetAFMode(GpioPortA, GpioPin2, GpioAf1);
  61.    
  62.     stcGpioCfg.enDir = GpioDirIn;
  63.     Gpio_Init(GpioPortA, GpioPin3, &stcGpioCfg);
  64.     Gpio_SetAFMode(GpioPortA, GpioPin3, GpioAf1);
  65. }

  66. void App_UartCfg(void)
  67. {
  68.     stc_uart_cfg_t stcCfg;

  69.     DDL_ZERO_STRUCT(stcCfg);
  70.     Sysctrl_SetPeripheralGate(SysctrlPeripheralUart1, TRUE);

  71.     stcCfg.enRunMode = UartMskMode3;
  72.     stcCfg.enStopBit = UartMsk1bit;
  73.     stcCfg.enMmdorCk = UartMskEven;
  74.     stcCfg.stcBaud.u32Baud = 9600;
  75.     stcCfg.stcBaud.enClkDiv = UartMsk8Or16Div;
  76.     stcCfg.stcBaud.u32Pclk = Sysctrl_GetPClkFreq();
  77.     Uart_Init(M0P_UART1, &stcCfg);

  78.     Uart_ClrStatus(M0P_UART1, UartRC);
  79.     Uart_ClrStatus(M0P_UART1, UartTC);
  80.     Uart_EnableIrq(M0P_UART1, UartRxIrq);
  81.     Uart_EnableIrq(M0P_UART1, UartTxIrq);
  82.     EnableNvic(UART1_IRQn, IrqLevel3, TRUE);
  83.    
  84. }
復制代碼
hc32l130數據手冊上寫的是,時鐘在8MHz下,波特率9600,模式三使用8分頻,此時的時鐘誤差在0.16%,



1686376097308.jpg (28.48 KB, 下載次數: 75)

1686376097308.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久草免费在线视频 | 久久国产高清 | 成人在线视频一区 | 精品91久久 | www.久 | 黄色毛片视频 | 污视频免费在线观看 | 热久久免费视频 | 三级黄视频在线观看 | 精品欧美一区二区三区久久久 | 亚洲国产一区在线 | 成人av大全 | 91青青草视频 | 久久久久久国产一区二区三区 | 97精品超碰一区二区三区 | 天堂色综合 | 精品视频久久久久久 | 欧美久久一级特黄毛片 | 可以免费看的毛片 | 亚洲精品美女视频 | 久久久久久成人网 | 久久精品国产一区二区电影 | 99亚洲| 毛片区| 99久久免费观看 | 四虎成人免费视频 | 亚洲色图第一页 | 亚洲一在线 | 精品乱码一区二区三四区 | 黄色毛片大全 | 草草影院ccyy | 中文字幕1区 | 91久久北条麻妃一区二区三区 | 欧美综合一区二区 | 亚洲欧洲视频 | 欧美日在线 | 免费中文字幕日韩欧美 | 欧美一页 | 91精品国产综合久久久久 | 亚洲久久久 | 超碰97人人人人人蜜桃 |