[uCOS/RTOS]

【RTOS】+ 东软载波 + RT-Thread + UCloud - 宠物定位装置

[复制链接]
2093|3
手机看帖
扫描二维码
随时随地手机跟帖
nvjwiciw659|  楼主 | 2020-5-14 22:03 | 显示全部楼层 |阅读模式
本帖最后由 nvjwiciw659 于 2020-5-14 22:14 编辑

来迟了来迟了来迟了,我虽是第一批申请的,并且很早就收到了板子,可是之前申请的是RT-Thread的麻雀,小而美的麻雀确实让我感到惊艳,但是把玩一番之后发现,麻雀的特点在于wifi蓝牙双模以及多媒体功能,它的特点在我的项目中却基本用不上,害,因为申请时候比较激动,所以没有仔细选择,但又非常舍不得这个“小鸟”,不过在群里看到很多没有申请到麻雀的参赛选手感到遗憾,我就沟通小改改,问是否能更换板子,把麻雀留给更需要它的人,所以又选择了这款东软载波 ES32F0654 PDS开发板,支持国产芯片,国产UP!!!!
先拆个箱吧!
11.jpg 12.jpg
带了个烧录器,不错,但感觉有点大,按理说去除了烧录器体积会减小一点,不过不影响他的美!



使用特权

评论回复

相关帖子

nvjwiciw659|  楼主 | 2020-5-14 22:05 | 显示全部楼层
本帖最后由 nvjwiciw659 于 2020-5-14 22:12 编辑

然后我们开始做准备工作咯!首先在设计大赛报名页下载RTT程序 5.jpg 6.jpg
不要积分等于大赚
接着我要使用生活小妙招了,真奔北哥(我的亲师兄)
1.jpg
跟着北哥教程一顿操作,此处应该手动@一路向北lm
2.jpg
3.jpg
4.jpg
结束准备,开始点灯

使用特权

评论回复
nvjwiciw659|  楼主 | 2020-5-14 22:11 | 显示全部楼层
打开比赛页下载的工程
7.jpg
8.jpg
根据板子丝印可知LED为PC8,PC9,查看定义
14.jpg
简单增加差时点灯任务
#define LED0_PIN 39
#define LED1_PIN 40

static rt_thread_t led0_thread = RT_NULL;
static rt_thread_t led1_thread = RT_NULL;

/********************************************************************************************************
* led_init(void)
********************************************************************************************************/
void led_init(void)
{
        rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT);
        rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
}
/********************************************************************************************************
* led0_thread_entry(void)LED0任务初始化
********************************************************************************************************/
static void led0_thread_entry(void* parameter)
{        
    while (1)
    {
        rt_pin_write(LED0_PIN, PIN_HIGH);
        rt_thread_delay(500);   /* 延时500个tick */
        rt_kprintf("led0_thread running,LED0_ON\r\n");
        
        rt_pin_write(LED0_PIN, PIN_LOW);
        rt_thread_delay(500);   /* 延时500个tick */                                 
        rt_kprintf("led0_thread running,LED0_OFF\r\n");
    }
}
/********************************************************************************************************
* led1_thread_entry(void)LED1任务初始化
********************************************************************************************************/
static void led1_thread_entry(void* parameter)
{        
    while (1)
    {
        rt_pin_write(LED1_PIN, PIN_HIGH);
        rt_thread_delay(1000);   /* 延时1000个tick */
        rt_kprintf("led1_thread running,LED1_ON\r\n");
        
        rt_pin_write(LED1_PIN, PIN_LOW);  
        rt_thread_delay(1000);   /* 延时1000个tick */                                 
        rt_kprintf("led1_thread running,LED1_OFF\r\n");
    }
}
/********************************************************************************************************
* led0_task(void)LED0任务
********************************************************************************************************/
void led0_task(void)
{
    led0_thread =                          /* 线程控制块指针 */
    rt_thread_create( "led0",              /* 线程名字 */
                      led0_thread_entry,   /* 线程入口函数 */
                      RT_NULL,             /* 线程入口函数参数 */
                      512,                 /* 线程栈大小 */
                      2,                   /* 线程的优先级 */
                      20);                 /* 线程时间片 */
                  
    /* 启动线程,开启调度 */
   if (led0_thread != RT_NULL)
        rt_thread_startup(led0_thread);
}
/********************************************************************************************************
* led1_task(void)LED1任务
********************************************************************************************************/
void led1_task(void)
{
        led1_thread =                          /* 线程控制块指针 */
    rt_thread_create( "led1",              /* 线程名字 */
                      led1_thread_entry,   /* 线程入口函数 */
                      RT_NULL,             /* 线程入口函数参数 */
                      512,                 /* 线程栈大小 */
                      3,                   /* 线程的优先级 */
                      20);                 /* 线程时间片 */
                  
    /* 启动线程,开启调度 */
   if (led1_thread != RT_NULL)
        rt_thread_startup(led1_thread);
}

int main(void)
{
    led_init();
                led0_task();
                led1_task();
    while (1)
    {

    }
}
烧录
9.jpg
10.jpg
13.jpg
舒服了,之后的方案思路以及实现过程持续更新,敬请大家期待




使用特权

评论回复
21ic小喇叭| | 2020-5-22 14:43 | 显示全部楼层
感谢分享,期待您完成作品~

如果使用过程中遇到问题,您可以电话联系板子厂家的客服,或者我们帮您询问一下厂家

小喇叭提醒您:

现在起到6月底,在21ic提交作品(记得把方案文档,作为附件上传),每个人都可以兑换3次礼物。

最晚7月5号以前提交作品哦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

79

帖子

0

粉丝