chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【中科昊芯Start_DSC28027勇士開發(fā)板試用體驗(yàn)】SCI(UART)通訊

開發(fā)板試用精選 ? 來(lái)源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-21 11:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來(lái)源電子發(fā)燒友社區(qū),作者:xiaopeng, 帖子地址:https://bbs.elecfans.com/jishu_2287977_1_1.html

中科昊芯DSC2802x系列DSP擁有一個(gè)SCI(UART)模塊,可以用來(lái)作為調(diào)試口或者與其它模塊進(jìn)行通訊。

poYBAGKweKCAEEarAABJIOiQaAw743.jpg


其基本功能如下:
poYBAGKweSyAEr-MAADpQzRtbTY649.jpg


注意,這個(gè)sci模塊數(shù)據(jù)位是可配置為1~8bit,并非我們常見(jiàn)的8~9bit數(shù)據(jù)位。
還具有增強(qiáng)功能:
pYYBAGKwedeAJvy7AAAUQ9XheyQ869.jpg

也就是說(shuō)硬件可以自動(dòng)檢測(cè)波特率,功能還是很強(qiáng)大的。

波特率計(jì)算公式:
poYBAGKweseAcfKiAACymDWu5ME019.jpg


代碼實(shí)操:
新建兩個(gè)文件,sci.c和sci.h
poYBAGKwe2OAMjW_AACEqWzwnyM468.jpg


與sci相關(guān)的代碼全部放在sci.c文件里面,sci.h用于sci相關(guān)的函數(shù)的聲明。

1、sci模塊硬件初始化:


  1. /******************************************************************
  2. *函數(shù)名:Scia_Config(uint32 baud)
  3. *參 數(shù): baud,串口波特率
  4. *返回值:無(wú)
  5. *作 用: SCIA 初始化配置
  6. ******************************************************************/
  7. void Scia_Config(uint32 baud)
  8. {
  9. uint32 div = 0;
  10. uint32 divsel = 0;
  11. uint32 lospcp = 0;
  12. uint32 lspclk = 0;
  13. uint16 brr = 0;
  14. //獲取系統(tǒng)時(shí)鐘的倍頻、分頻和低速外部時(shí)鐘的值
  15. div = SysCtrlRegs.PLLCR.bit.DIV;
  16. divsel = SysCtrlRegs.PLLSTS.bit.DIVSEL;
  17. lospcp = SysCtrlRegs.LOSPCP.bit.LSPCLK;
  18. if (lospcp != 0)
  19. {
  20. lospcp = lospcp * 2;
  21. }
  22. else
  23. {
  24. lospcp = 1;
  25. }
  26. /*分頻值設(shè)置
  27. divsel為 0時(shí),系統(tǒng)時(shí)鐘4分頻
  28. divsel為 1時(shí),系統(tǒng)時(shí)鐘4分頻
  29. divsel為 2時(shí),系統(tǒng)時(shí)鐘2分頻
  30. divsel為 3時(shí),系統(tǒng)時(shí)鐘1分頻*/
  31. switch (divsel)
  32. {
  33. case 0:
  34. case 1:
  35. lspclk = 12000000 * div / 4 / lospcp;
  36. break;
  37. case 2:
  38. lspclk = 12000000 * div / 2 / lospcp;
  39. break;
  40. case 3:
  41. lspclk = 12000000 * div / 1 / lospcp;
  42. break;
  43. }
  44. brr = lspclk / (baud * 8) - 1;
  45. /*SCI 停止位設(shè)置 0:一個(gè)停止位 1:兩個(gè)停止位*/
  46. SciaRegs.SCICCR.bit.STOPBITS = 0;
  47. /*SCI 奇偶校驗(yàn)位 0:奇偶校驗(yàn) 1:偶偶校驗(yàn)*/
  48. SciaRegs.SCICCR.bit.PARITY = 0;
  49. /*SCI 奇偶校驗(yàn)使能 0:關(guān)閉 1:?jiǎn)⒂?/
  50. SciaRegs.SCICCR.bit.PARITYENA = 0;
  51. /*SCI 字符長(zhǎng)度 0:1個(gè)字長(zhǎng)1:2個(gè)字長(zhǎng) ... 7:8個(gè)字長(zhǎng)*/
  52. SciaRegs.SCICCR.bit.SCICHAR = 7;
  53. /*使能SCI的發(fā)送機(jī)和接收機(jī)*/
  54. SciaRegs.SCICTL1.bit.TXENA = 1;
  55. SciaRegs.SCICTL1.bit.RXENA = 1;
  56. /*SCI 16位波特率選擇寄存器 高8位*/
  57. SciaRegs.SCIHBAUD = (uint8) ((brr >> 8) & 0xff);
  58. /*SCI 16位波特率選擇寄存器 低8位*/
  59. SciaRegs.SCILBAUD = (uint8) (brr & 0xff);
  60. /*SCI 發(fā)送中斷使能*/
  61. SciaRegs.SCICTL2.bit.TXINTENA = 1;
  62. /*SCI 接收中斷使能*/
  63. SciaRegs.SCICTL2.bit.RXBKINTENA = 1;
  64. /*SCI 指定發(fā)送和接收中斷處理函數(shù),該寄存器受EALLOW保護(hù)*/
  65. EALLOW;
  66. PieVectTable.SCIRXINTA = &sciaRxIsr;
  67. PieVectTable.SCITXINTA = &sciaTxIsr;
  68. EDIS;
  69. /*PIE Group 9, SCIRXINTA*/
  70. PieCtrlRegs.PIEIER9.bit.INTx1 = 1;
  71. /*PIE Group 9, SCITXINTA*/
  72. PieCtrlRegs.PIEIER9.bit.INTx2 = 1;
  73. IER_ENABLE(M_INT9);
  74. /*SCI 軟件復(fù)位,重新啟動(dòng)SCI*/
  75. SciaRegs.SCICTL1.bit.SWRESET = 1;
  76. }
復(fù)制代碼


2、中斷方式的數(shù)據(jù)發(fā)送


  1. /******************************************************************
  2. *函數(shù)名:Scia_Send(uint8 data)
  3. *參 數(shù): data,準(zhǔn)備發(fā)送的字節(jié)
  4. *返回值:無(wú)
  5. *作 用: SCIA 發(fā)送一個(gè)字節(jié)
  6. ******************************************************************/
  7. void Scia_Send(uint8 data)
  8. {
  9. while (SciaRegs.SCICTL2.bit.TXRDY == 0)
  10. {
  11. }
  12. SciaRegs.SCITXBUF = data;
  13. }
復(fù)制代碼


3、字符串的發(fā)送


  1. /******************************************************************
  2. *函數(shù)名:Scia_Print(char *str)
  3. *參 數(shù): *str,要發(fā)送的字符串
  4. *返回值:無(wú)
  5. *作 用: SCIA 發(fā)送一個(gè)字符串
  6. ******************************************************************/
  7. void Scia_Print(char *str)
  8. {
  9. while (*str != '')
  10. {
  11. while (SciaRegs.SCICTL2.bit.TXRDY == 0)
  12. {
  13. }
  14. SciaRegs.SCITXBUF = *str++;
  15. }
  16. }
復(fù)制代碼


4、發(fā)送與接收中斷函數(shù)


  1. /******************************************************************
  2. *函數(shù)名:sciaTxIsr(void)
  3. *參 數(shù): 無(wú)
  4. *返回值:無(wú)
  5. *作 用: SCIA中斷發(fā)送處理
  6. ******************************************************************/
  7. INTERRUPT void sciaTxIsr(void)
  8. {
  9. /*清除中斷標(biāo)志位*/
  10. while (SciaRegs.SCICTL2.bit.TXRDY == 0)
  11. {
  12. }
  13. PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
  14. }
  15. /******************************************************************
  16. *函數(shù)名:sciaRxIsr(void)
  17. *參 數(shù): 無(wú)
  18. *返回值:無(wú)
  19. *作 用: SCIA中斷接收處理
  20. ******************************************************************/
  21. INTERRUPT void sciaRxIsr(void)
  22. {
  23. if (SciaRegs.SCICTL2.bit.TXRDY == 1)
  24. {
  25. Scia_Send(SciaRegs.SCIRXBUF.bit.RXDT);
  26. PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
  27. }
  28. }
復(fù)制代碼


5、主函數(shù)
在上一篇GPIO發(fā)布的基礎(chǔ)上增加sci功能,實(shí)現(xiàn)數(shù)據(jù)的收發(fā),同時(shí),led和按鍵功能也正常工作。


  1. int main(void)
  2. {
  3. uint16_t cnt = 0;
  4. /*初始化系統(tǒng)控制:PLL,WatchDog,使能外設(shè)時(shí)鐘*/
  5. InitSysCtrl();
  6. /*初始化內(nèi)存控制寄存器,使能內(nèi)存流水線模式*/
  7. InitFlash();
  8. /*初始化串口通信的GPIO口*/
  9. /*GPIO28: SCIRXDA*/
  10. /*GPIO29: SCITXDA*/
  11. InitSciGpio();
  12. /*關(guān)閉中斷*/
  13. DINT;
  14. /*將PIE控制寄存器初始化為默認(rèn)狀態(tài),該狀態(tài)禁止所有PIE中斷并清除所有標(biāo)志*/
  15. InitPieCtrl();
  16. /*禁止CPU中斷并清除所有中斷標(biāo)志*/
  17. IER = 0x0000;
  18. IFR = 0x0000;
  19. /*初始化PIE向量表,為PIE向量表中的所有中斷向量配置對(duì)應(yīng)向量的入口地址*/
  20. InitPieVectTable();
  21. /*SCI寄存器配置*/
  22. Scia_Config(9600);
  23. /*使能外部中斷和CPU中斷*/
  24. EINT;
  25. /*初始化KEY、LED*/
  26. InitKEY();
  27. InitLED();
  28. /*通過(guò)SCI發(fā)送字符串*/
  29. Scia_Print("Hello haawking!rn");
  30. while(1)
  31. {
  32. /*按鍵按下*/
  33. if(GpioDataRegs.GPADAT.bit.GPIO12 == 0)
  34. {
  35. /*D400亮*/
  36. GpioDataRegs.GPACLEAR.bit.GPIO7 = 1;
  37. }
  38. else
  39. {
  40. /*松開按鍵D400滅*/
  41. GpioDataRegs.GPASET.bit.GPIO7 = 1;
  42. }
  43. if(cnt == 500)
  44. {
  45. cnt = 0;
  46. /*D401一直閃爍*/
  47. GpioDataRegs.GPATOGGLE.bit.GPIO6 = 1;
  48. }
  49. else
  50. {
  51. cnt++;
  52. DELAY_US(1000);
  53. }
  54. }
  55. return 0;
  56. }
復(fù)制代碼


測(cè)試

poYBAGKwfUiAdZZhAABQ8zCgFcs967.jpg


測(cè)試成功

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 中科昊芯
    +關(guān)注

    關(guān)注

    5

    文章

    83

    瀏覽量

    5539
  • 開發(fā)板試用
    +關(guān)注

    關(guān)注

    3

    文章

    302

    瀏覽量

    2407
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    中科Core_DSC280025C開發(fā)板試用體驗(yàn)】+SCI測(cè)試與代碼解讀

    Core_DSC280025C核心使用了HXS320F28025CRISC-V DSP芯片,該芯片集成了吳自主研發(fā)的H28x內(nèi)核。核
    發(fā)表于 07-17 10:42

    中科Core_DSC280025C開發(fā)板試用體驗(yàn)】+3.DSP基礎(chǔ)外設(shè)調(diào)試(含源碼)

    前言 大家好,非常感謝電子發(fā)燒友與中科提供的DSC280025C開發(fā)板,這是一款DSP的開發(fā)板
    發(fā)表于 07-13 16:07

    有獎(jiǎng)丨米爾 瑞微RK3506開發(fā)板免費(fèi)試用來(lái)啦!

    米爾與瑞微合作發(fā)布的新品基于瑞微RK3506應(yīng)用處理器的MYD-YR3506開發(fā)板免費(fèi)試用名額增加啦
    的頭像 發(fā)表于 07-10 08:03 ?162次閱讀
    有獎(jiǎng)丨米爾 瑞<b class='flag-5'>芯</b>微RK3506<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>來(lái)啦!

    中科Core_DSC280025C開發(fā)板試用體驗(yàn)】+2.RAM工程與FLASH工程對(duì)比

    前言 大家好,非常感謝電子發(fā)燒友與中科提供的DSC280025C開發(fā)板,這是一款DSP的開發(fā)板
    發(fā)表于 07-04 10:37

    中科Core_DSC280025C開發(fā)板試用體驗(yàn)】+1.開箱之浮點(diǎn)計(jì)算對(duì)比

    中科Core_DSC280025C開發(fā)板試用體驗(yàn)】+1.開箱之浮點(diǎn)計(jì)算對(duì)比 前言 大家好,
    發(fā)表于 06-29 10:01

    有獎(jiǎng)丨米爾 瑞微RK3506開發(fā)板免費(fèi)試用

    米爾與瑞微合作發(fā)布的新品基于瑞微RK3506應(yīng)用處理器的MYD-YR3506開發(fā)板免費(fèi)試用名額來(lái)啦~~米爾提供了3塊價(jià)值299元的MYD-YR3506
    的頭像 發(fā)表于 06-19 08:04 ?374次閱讀
    有獎(jiǎng)丨米爾 瑞<b class='flag-5'>芯</b>微RK3506<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    有獎(jiǎng)丨米爾 瑞微RK3562開發(fā)板免費(fèi)試用新增名額!

    米爾與瑞微合作發(fā)布的新品基于瑞微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用名額增加
    的頭像 發(fā)表于 06-13 08:04 ?414次閱讀
    有獎(jiǎng)丨米爾 瑞<b class='flag-5'>芯</b>微RK3562<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>新增名額!

    性能強(qiáng)悍!合眾HZ-RK3568開發(fā)板試用體驗(yàn)

    月19日 ? 評(píng)測(cè)數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測(cè)!頂級(jí)開發(fā)板免費(fèi)
    的頭像 發(fā)表于 06-05 16:30 ?535次閱讀
    性能強(qiáng)悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗(yàn)

    中科Core_DSC280025C開發(fā)板免費(fèi)試用

    Core_DSC280025C核心使用了HXS320F28025C RISC-V ? DSP芯片,該芯片集成了吳自主研發(fā)的H28x內(nèi)
    的頭像 發(fā)表于 06-03 19:30 ?275次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>昊</b><b class='flag-5'>芯</b>Core_<b class='flag-5'>DSC</b>280025C<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    【評(píng)測(cè)試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)

    【評(píng)測(cè)試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)
    的頭像 發(fā)表于 05-27 08:05 ?228次閱讀
    【評(píng)測(cè)<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>體驗(yàn)

    HXS320F28027數(shù)字信號(hào)處理器(32位RISC-V DSP)

    HXS320F28027數(shù)字信號(hào)處理器(32位RISC-V DSP)HXS320F28027中科(Haawking)基于自主研發(fā)的H2
    發(fā)表于 05-21 10:21

    中科DSP產(chǎn)品及公司信息

    庫(kù)和驅(qū)動(dòng)庫(kù),幫助用戶降低遷移成本,縮短開發(fā)周期。同時(shí),公司還推出了多種開發(fā)板和核心,如Core_DSC28027Start_DSC280
    發(fā)表于 04-07 09:16

    有獎(jiǎng)丨米爾 瑞微YR3562開發(fā)板免費(fèi)試用

    米爾與瑞微合作發(fā)布的新品基于瑞微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了3塊價(jià)值599元的MYD-YR3562
    的頭像 發(fā)表于 03-20 08:05 ?524次閱讀
    有獎(jiǎng)丨米爾 瑞<b class='flag-5'>芯</b>微YR3562<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    追加名額丨米爾瑞微RK3576開發(fā)板有獎(jiǎng)試用

    米爾與瑞微合作發(fā)布的新品基于瑞微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)加碼啦~~米爾追加了2塊價(jià)值849元的MYD-LR3576
    的頭像 發(fā)表于 11-22 01:00 ?636次閱讀
    追加名額丨米爾瑞<b class='flag-5'>芯</b>微RK3576<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    有獎(jiǎng)丨米爾 瑞微RK3576開發(fā)板免費(fèi)試用

    米爾與瑞微合作發(fā)布的新品基于瑞微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了7塊價(jià)值849元的MYD-LR3576
    的頭像 發(fā)表于 11-12 01:00 ?807次閱讀
    有獎(jiǎng)丨米爾 瑞<b class='flag-5'>芯</b>微RK3576<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>