最近在线字幕国语视频_videosex久久麻豆_韩国美女豪爽一级毛片_日本另类αv欧美另类aⅴ

24小時聯系電話:18217114652、13661815404

中文

您當前的位置:
首頁>
電子資訊>
行業資訊>
帶外部RAM的AVR上的Fr...

行業資訊

帶外部RAM的AVR上的FreeRTOS


由于片內RAM較低,因此AVR微控制器不是運行FreeRTOS調度程序的最佳選擇。Atmega128僅具有4K RAM,因此這將FreeRTOS功能限制為非?;镜墓δ堋o論如何,可以通過添加可能連接到外部存儲器接口的額外RAM來解決此問題。以前我們已經構建了8K的外部存儲塊,所以現在我們可以使用FreeRTOS應用程序對其進行測試。



  讓我們繼續前面的代碼,該代碼運行一些簡單的任務(按鈕狀態讀取,LCD輸出和LED閃光燈),并且我們可以添加更多內容。我們將建立一個用于存儲堆的外部RAM。這將允許存儲大型數據緩沖區,而不必過多擔心堆和棧的重疊。


  首先,我們需要注意鏈接器選項。在AVRStudio5項目屬性中,AVR / GNU C鏈接器->其他輸入鏈接器選項:

 
  <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">-Wl,-defsym = __ heap_start = 0x801100,-defsym = __ heap_end = 0x8030ff</font></font>


  這將指示鏈接器僅將0x801100到0x8030ff(整個外部RAM)的內存區域用于堆。
  第二步是設置微控制器以使用外部存儲器。為了使內容整潔和模塊化,我們將創建單獨的驅動程序源文件xmem.c和xmem.h。并編寫簡單的XMEM_init()函數:

  <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">無效vXMEMInit(void)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  {</font></font><font></font>
    MCUCR |= (1<<SRE);   /* External memory interface enable */<font></font>
    XMCRA = 0;<font></font>
    XMCRB |= (1<<XMM1)|(1<<XMM0);//PC7..PC5 released pins<font></font>
  }
  在主例程的開頭,我們簡單地調用此函數以在使用外部RAM之前對其進行初始化。

  編寫USART驅動程序
  我們將需要USART功能,以方便的方式調試和顯示信息。因此,首先,我們需要可以在任務中使用的驅動程序。使用USART的最方便的方法可能是通過隊列發送消息。這樣,任何任務都可以通過使用消息傳遞服務而不是直接訪問外圍設備來與USART通信。因此,我們將實現兩個隊列–一個用于TX,另一個用于RX通道。

  //receive and transmit queues<font></font>
  <font></font>
  xQueueHandlexRxedChars=NULL;<font></font>
  <font></font>
  xQueueHandlexCharsForTx=NULL;
  然后在USART初始化期間,我們創建隊列。

  xRxedChars=xQueueCreate(uxQueueLength,(signedchar)sizeof(signedchar));<font></font>
  <font></font>
  xCharsForTx=xQueueCreate(uxQueueLength,(signedchar)sizeof(signedchar));
  隊列長度是在初始化USART時給出的(在我們的示例中為30)?,F在,當隊列準備就緒時,就可以使用它們與USART通信。通過兩個自定義函數放置和讀取發送到隊列的消息,這使生活更輕松:
  portBASE_TYPE xUSART0PutChar(unsigned char cOutChar)<font></font>
  {<font></font>
  //Return false if after the block time there is no room on the Tx queue.<font></font>
    if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )<font></font>
    {<font></font>
        return pdFAIL;<font></font>
    }<font></font>
    //enable usart UDRE interrupt to transmit<font></font>
    prvUDRIE0InterruptOn();<font></font>
    return pdPASS;<font></font>
  }<font></font>
  portBASE_TYPE xUSART0GetChar(unsigned char *pcRxedChar)<font></font>
  {<font></font>
  /* Get the next character from the buffer.  Return false if no characters<font></font>
    are available, or arrive before xBlockTime expires. */<font></font>
    if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )<font></font>
    {<font></font>
        return pdTRUE;<font></font>
    }<font></font>
    else<font></font>
    {<font></font>
        return pdFALSE;<font></font>
    }<font></font>
  }
  當接收器隊列中沒有字符且發送隊列已滿時,這些功能可提供額外的安全性。您可能會注意到,在xUSART0PutChar()中調用了一個私有函數prvUDRIE0InterruptOn()。一旦發送隊列中至少有一個字符,這將啟用USART數據就緒中斷。

  通過中斷例程執行USART發送和接收。

請輸入搜索關鍵字

確定
最近在线字幕国语视频_videosex久久麻豆_韩国美女豪爽一级毛片_日本另类αv欧美另类aⅴ
<strike id="0k9r3"><p id="0k9r3"></p></strike>
  • <form id="0k9r3"></form>
    <nav id="0k9r3"></nav>
    <em id="0k9r3"><p id="0k9r3"></p></em>
  • <tr id="0k9r3"><source id="0k9r3"></source></tr>
    <form id="0k9r3"></form>
    <sub id="0k9r3"></sub>

      <sub id="0k9r3"><address id="0k9r3"></address></sub>
      1. <form id="0k9r3"></form>
        免费成人性网站| 国产精品一区二区久久国产| 亚洲激情黄色| 麻豆精品视频在线观看| 伊人久久婷婷| 亚洲免费黄色| 亚洲人成人一区二区在线观看| 国产精品扒开腿爽爽爽视频| 激情欧美亚洲| 欧美阿v一级看视频| 欧美专区亚洲专区| 一区二区三区高清在线| 国产精品xxxav免费视频| 欧美**人妖| 欧美四级在线观看| 亚洲一级电影| 欧美日韩亚洲激情| 一本大道久久a久久精品综合| 午夜亚洲一区| 韩日视频一区| 午夜精品福利一区二区三区av| 国产精品乱码一区二区三区| 亚洲欧洲精品成人久久奇米网| 狠狠色狠狠色综合| 伊甸园精品99久久久久久| 最新成人av在线| 免费成人网www| 亚洲午夜视频| 国外成人免费视频| 亚洲精品视频啊美女在线直播| 亚洲精品一区在线| 在线观看精品一区| 久久久久久综合| 久热国产精品| 亚洲春色另类小说| 老色鬼精品视频在线观看播放| 在线成人国产| 亚洲国产精品久久久久久女王| 亚洲色诱最新| 亚洲免费影视第一页| 女女同性精品视频| 欧美日韩国产成人在线91| 国内伊人久久久久久网站视频| 国产精品极品美女粉嫩高清在线| 亚洲欧美日韩国产中文| 亚洲国产综合在线| 久久久久久久网| 久久久久亚洲综合| 狠狠色综合日日| 午夜精品福利电影| 欧美精品福利视频| 夜夜嗨av一区二区三区四区| 亚洲一线二线三线久久久| 国产偷自视频区视频一区二区| 欧美中文字幕在线观看| 久久国产88| 亚洲福利视频一区二区| 久久福利一区| 亚洲免费电影在线观看| 久久中文字幕一区二区三区| 激情欧美一区二区三区在线观看| 久久久久久久久蜜桃| 日韩一级精品| 欧美日韩你懂的| 国产日韩欧美一二三区| 亚洲女人小视频在线观看| 日韩亚洲精品电影| 欧美精品一区二区高清在线观看| 国产麻豆成人精品| 免费看av成人| 在线观看中文字幕不卡| 亚洲先锋成人| 亚洲日本在线视频观看| 免费亚洲电影在线观看| 亚洲激情视频在线播放| 国产亚洲va综合人人澡精品| 欧美影院成年免费版| 欧美午夜视频网站| 91久久精品美女高潮| 国产精品夜色7777狼人| 久久三级福利| 亚洲另类自拍| 欧美精品一区二区在线播放| 欧美黄色视屏| 美国成人毛片| 最新成人在线| 亚洲欧美一区二区三区极速播放| 欧美高清在线精品一区| 久久精品道一区二区三区| 欧美一区二区在线看| 国产精品成人va在线观看| 久久久不卡网国产精品一区| 亚洲女同精品视频| 亚洲欧美日韩在线高清直播| 国产一区清纯| 亚洲国产精品欧美一二99| 欧美精品v日韩精品v国产精品| 亚洲欧美在线视频观看| 99v久久综合狠狠综合久久| 国产美女精品一区二区三区| 国内成人精品2018免费看| 久久爱另类一区二区小说| 久久狠狠一本精品综合网| 国产精品a久久久久| 久久三级视频| 欧美久久99| 欧美1级日本1级| 一区二区三区高清不卡| 香蕉久久久久久久av网站| 日韩一区二区福利| 亚洲欧美日韩专区| 国产精品久久久久久五月尺| 国内一区二区三区在线视频| 午夜综合激情| 一区二区三区四区国产精品| 国产精品女同互慰在线看| 亚洲成色777777在线观看影院| 欧美日韩国产a| av成人免费在线| 国产精品久久中文| 欧美视频不卡中文| 久久九九国产精品怡红院| 亚洲自拍偷拍一区| 一二三四社区欧美黄| 国产精品久久久久久久久免费| 国产在线精品自拍| 亚洲欧美日产图| 亚洲欧美怡红院| 午夜亚洲视频| 日韩一区二区久久| 99这里只有久久精品视频| 亚洲无毛电影| 国产日产精品一区二区三区四区的观看方式| 国产精品福利片| 久久精品国产视频| 久久夜色精品亚洲噜噜国产mv| 激情成人综合| 欧美系列电影免费观看| 亚洲国产欧美日韩精品| 一区二区三区四区精品| 欧美日韩精品综合| 亚洲视频1区| 欧美日韩精品免费看| 久久高清国产| 久久精品国产久精国产一老狼| 亚洲无线视频| 国产一区日韩二区欧美三区| 欧美中文字幕视频在线观看| 国内精品免费午夜毛片| 欧美日韩综合在线| 狠狠操狠狠色综合网| 久久免费视频这里只有精品| 欧美精品一二三| 欧美高清视频一区二区三区在线观看| 亚洲一区观看| 一区二区日韩免费看| 欧美日韩国产二区| 伊人婷婷久久| 国产午夜精品美女视频明星a级| 亚洲欧美色一区| 国内精品视频一区| 亚洲人成网站色ww在线| 久久久青草婷婷精品综合日韩| 欧美日韩免费区域视频在线观看|