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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC8單片機跑RTX51 OS 1T模式

  [復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 李牧林 于 2019-9-14 10:47 編輯

網上能找到的資料,大部分是STC15單片機或者STC12或者STC89在12T的模式下跑RTX51,本人覺得太浪費這些增強型的51單片機芯片了,于是經過測試,成功在1T模式下跑RTX51。
具體涉及的操作如下:
1.在工程中添加RTX51
2.頭文件包含#include <rtx51tny.h>
3.修改Conf_tny.A51的INT_CLOCK   EQU  55400  這邊的55400原來默認為10000

測試的主函數如下所示:
#include <rtx51tny.h>
#define MAIN_Fosc                11059200L        //定義主時鐘
#include        "STC8.H"
#include        "uart.H"

sbit LED_B=P0^7;     //藍色LED用IO口P07

void job0(void) _task_ 0  
{
        AUXR |= 0x80;  //定時器時鐘1T模式
        P0M1 &= 0x7F;        P0M0 &= 0x7F;   //設置P0.7為準雙向口
        UartInit();
        os_create_task(1);         //創建任務1
        os_create_task(2);         //創建任務1
         os_delete_task(0);        //刪除自己(task0),使task0退出任務鏈表
}  

void job1(void) _task_ 1  
{  
                while(1)
                {              
                        LED_B = !LED_B;
                        os_wait(K_IVL, 10, 0);  //等待10個時鐘滴答(ticks),即100ms
    }  
}  

void job2(void) _task_ 2  
{  
                while(1)
                {              
                        UART_SendString("hello\r\n");
                        os_wait(K_IVL, 100, 0);  //等待100個時鐘滴答(ticks),即1s
    }  
}  


經過測試,os_wait(K_IVL, 1, 0)的時間基本能比較接近10ms。os_wait(K_IVL, 10, 0)的時間比較接近100ms。看下圖。



最后注意,本環境是在
#define MAIN_Fosc 11059200L 的情況下測試的。


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:328014 發表于 2019-9-13 16:48 | 只看該作者
很好,值得學習的好東東
回復

使用道具 舉報

板凳
ID:611442 發表于 2019-9-14 16:32 | 只看該作者
很好,值得學習
回復

使用道具 舉報

地板
ID:56665 發表于 2019-9-15 08:38 | 只看該作者
誰分享一下RTX51
回復

使用道具 舉報

5#
ID:281879 發表于 2019-9-15 11:57 | 只看該作者
新手 來學習一下
回復

使用道具 舉報

6#
ID:68814 發表于 2019-9-15 16:01 | 只看該作者

百度資料非常多吧
回復

使用道具 舉報

7#
ID:371527 發表于 2019-9-26 11:34 | 只看該作者
謝謝!我調試一下看看效果
回復

使用道具 舉報

8#
ID:126541 發表于 2020-3-1 22:15 | 只看該作者
沒有關系,,tick周期是你定的,,和MCU快慢沒關系,無論12T還是1T,,你都定的10ms,,,沒區別
回復

使用道具 舉報

9#
ID:745758 發表于 2020-5-17 00:16 來自觸屏版 | 只看該作者
55400怎么來的?
回復

使用道具 舉報

10#
ID:82570 發表于 2020-7-20 14:03 | 只看該作者

不知道怎么計算的   我猜測的這個  INT_CLOCK 應該是和timer計時類似的計算方法

如果是1ms中斷一次的話, 則可以設  周期數為  CX, 然后有如下 公示:
CX = 1000*11.0592/1T = 11059
則初值設置為: 65535 - CX = 54476  約等于 54400   

但這個是1ms發生中斷的INT_CLOCK值。  樓主那個具體的值是如何得到的,尚不清楚。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品久久 | 亚洲三级在线观看 | 国产精品日韩在线观看一区二区 | 婷婷91 | www.国产日本 | 女同久久 | 成人影视网址 | 日日夜夜精品视频 | 国产精品视频久久久久 | 成人福利电影 | 97精品国产97久久久久久免费 | 欧美激情精品久久久久久 | 欧美久久久久 | 久久成人精品视频 | 超碰网址 | 亚洲成人免费视频在线观看 | 亚洲国产精品成人久久久 | 蜜桃视频一区二区三区 | 久久久国产一区二区三区 | 亚洲福利在线观看 | 午夜网| 这里只有精品99re | 伊人二区| 久久精品综合 | 国产一区二区精品在线观看 | 丁香综合 | 亚洲国产一区二区三区四区 | 欧美一级二级三级视频 | 日韩欧美一区在线 | 免费性视频 | 成人在线视频观看 | www.婷婷亚洲基地 | 国产精品不卡视频 | 成人久久久 | 欧洲高清转码区一二区 | 在线成人免费av | 久久手机视频 | av在线一区二区三区 | 天天操夜夜操免费视频 | 日本不卡免费新一二三区 | 98成人网|