当前位置: 首页 > news >正文

定制型网站制作明细报价表百度广告联盟官网

定制型网站制作明细报价表,百度广告联盟官网,网站优化 推广,网站建设维护协议书一、写在前面 关于源码的下载,以及在KEIL工程里面添加操作系统的源代码,这里就不再赘述了。需要注意的是RT-thread默认里面是会使用串口的,因此需要额外的进行串口的初始化,有些人可能会问,为什么不直接使用CubMAX直接…

一、写在前面

关于源码的下载,以及在KEIL工程里面添加操作系统的源代码,这里就不再赘述了。需要注意的是RT-thread默认里面是会使用串口的,因此需要额外的进行串口的初始化,有些人可能会问,为什么不直接使用CubMAX直接进行系统的移植,经过我的尝试发现,这个玩意移植的RT-thread会有一些小的bug,比如直接生成的代码FinSH工作不正常,修改方法和第七节一样。虽然整个系统的调度啥的都是正常的。因此我决定另辟蹊径,其他的功能使用CubMAX进行设置,因为他简直太方便了,然后RT-thread的移植采用手动的方法进行。

二、移植前的准备工作

因为RT-thread的源码里面有这些中断处理函数的实现,因此需要将上面的这些都关闭掉,不然编译会出现重复定义的错误。

 我这里使用的是串口1,因此先完成他的相关设置。

三、将RT-thread的源码添加到工程里面

都添加进行以后,然后不要忘了设置头文件的包含路径。

四、进行第一次的编译

 会发现错误很多,不慌。透过查看错误发现是因为va_list没有定义引起的,我们知道va_list是定义在stdarg.h里面的,然后通过观察头文件的包含发现,这个头文件在下面这个文件里面定义着,显然是因为RT_USING_LIBC这个宏,没有打开导致的。在rtconfig.h里面添加这个宏定义即可。

 五、进行第二次编译

我们发现编译很成功,没有错误也没有警告,这时你可能已经觉得成功了,我只能说我当时也是这么想的,结果发现程序运行那是,相当的不正常。需要解决这个问题我们得知道RT-thread启动的流程,其实你只需要知道他在运行我们的main函数之前,会运行一段自己的代码,

 然后我们进入这个函数发现,这里是关于系统的初始化,有很多。

 接下来我们进入第一个初始化函数里面。将串口的初始化放在这里,注意需要包含相关的头文件。有了串口我们就可以使用printf函数来进行调试了。

 当我们进入到第二个初始化函数里面我们发现,这里有一些输出,但是要想使用这些输出我们需要实现void rt_hw_console_output(const char *str)这个函数,在board.c里面其实已经有关于这个函数的实现,他是用RT_USING_CONSOLE这个宏来进行控制的,因此需要在trconfig.h里面打开这个宏

 你会发现串口里面还是没有我们想要的输出,通过观察发现虽然我们自己将串口进行了初始化,但是系统这里使用的是串口2,因此需要将他改成你初始化的那个串口,我这里改成串口1。

 到这里我们的串口就能正常工作了。下面这个是串口的输出。

 到这里如果你创建一个任务,然后你会神奇的发现这个任务好像并没有执行,也就是说我们的系统并没有完全初始化成功。因为在RT-thread里面创建任务的时候有两种分配内存的方式,第一种就是静态分配,第二种就是动态分配。RT-thread默认使用的是动态分配,我想会不会是这里的问题,我就将关于动态分配的相关配置注释掉了。到这里整个系统就算是初始化完毕,也正常运行起来了。需要注意的是我们这里所有的内存分配都是静态的,因此创建变量的时候一定要分配它的大小,不然会有很奇怪的问题。

 六、使用静态方式创建任务

static struct rt_thread led1_thread;
/* 线程主体函数 */
static void led1_thread_entry(void* parameter);
/* 定义线程栈 */
static rt_uint8_t rt_led1_thread_stack[1024];static struct rt_thread led0_thread;
/* 线程主体函数 */
static void led0_thread_entry(void* parameter);
/* 定义线程栈 */
static rt_uint8_t rt_led0_thread_stack[1024];int main(void)
{MX_GPIO_Init();/* USER CODE BEGIN 2 */rt_thread_init(&led1_thread,                 /* 线程控制块 */"led1",                       /* 线程名字 */led1_thread_entry,            /* 线程入口函数 */RT_NULL,                      /* 线程入口函数参数 */&rt_led1_thread_stack[0],     /* 线程栈起始地址 */sizeof(rt_led1_thread_stack), /* 线程栈大小 */3,                            /* 线程的优先级 */20);                          /* 线程时间片 */rt_thread_init(&led0_thread,                 /* 线程控制块 */"led0",                       /* 线程名字 */led0_thread_entry,            /* 线程入口函数 */RT_NULL,                      /* 线程入口函数参数 */&rt_led0_thread_stack[0],     /* 线程栈起始地址 */sizeof(rt_led0_thread_stack), /* 线程栈大小 */4,                            /* 线程的优先级 */20);                          /* 线程时间片 */rt_thread_startup(&led1_thread);rt_thread_startup(&led0_thread);  while (1){}}//LED1线程
static void led1_thread_entry(void* parameter)
{	while(1){LED1 = 0;rt_thread_delay(200);   /* 延时200个tick */rt_kprintf("led1_thread running,LED1_ON\r\n");LED1 = 1;     rt_thread_delay(500);   /* 延时500个tick */rt_kprintf("led1_thread running,LED1_OFF\r\n");}
}static void led0_thread_entry(void* parameter)
{	while(1){LED0 = 0;rt_thread_delay(200);   /* 延时200个tick */rt_kprintf("led0_thread running,LED0_ON\r\n");LED0 = 1;     rt_thread_delay(500);   /* 延时500个tick */rt_kprintf("led0_thread running,LED0_OFF\r\n");}
}

七、实现FinSH

 

 这个头文件你可以通过CubMAX来生成,也可以在项目例程里面复制一个。然后运行有可能你的会运行成功,有可能并不会成功。失败的界面是这样的;

成功的界面是这样的

如果失败了,尝试调整下图的参数即可。


文章转载自:
http://stackstand.wjrq.cn
http://waveshape.wjrq.cn
http://eradicated.wjrq.cn
http://spokesman.wjrq.cn
http://fram.wjrq.cn
http://elect.wjrq.cn
http://fastback.wjrq.cn
http://apocryphal.wjrq.cn
http://firing.wjrq.cn
http://proprietor.wjrq.cn
http://aquagun.wjrq.cn
http://spiderman.wjrq.cn
http://mullet.wjrq.cn
http://hayburner.wjrq.cn
http://overinspirational.wjrq.cn
http://elhi.wjrq.cn
http://leu.wjrq.cn
http://arrange.wjrq.cn
http://leprology.wjrq.cn
http://toxication.wjrq.cn
http://msam.wjrq.cn
http://hospitable.wjrq.cn
http://supercritical.wjrq.cn
http://pinboard.wjrq.cn
http://lamaite.wjrq.cn
http://lienectomy.wjrq.cn
http://dissatisfactory.wjrq.cn
http://synspermy.wjrq.cn
http://middlebuster.wjrq.cn
http://fuoro.wjrq.cn
http://lifework.wjrq.cn
http://proboscidate.wjrq.cn
http://nicaea.wjrq.cn
http://sorbent.wjrq.cn
http://minimal.wjrq.cn
http://linkboy.wjrq.cn
http://organizable.wjrq.cn
http://pyuria.wjrq.cn
http://wifedom.wjrq.cn
http://reviewal.wjrq.cn
http://curari.wjrq.cn
http://extrahepatic.wjrq.cn
http://gilder.wjrq.cn
http://jilt.wjrq.cn
http://amort.wjrq.cn
http://positivity.wjrq.cn
http://anadromous.wjrq.cn
http://gapa.wjrq.cn
http://witwatersrand.wjrq.cn
http://cutwork.wjrq.cn
http://unquestioned.wjrq.cn
http://bauk.wjrq.cn
http://coleta.wjrq.cn
http://jailhouse.wjrq.cn
http://abandonment.wjrq.cn
http://intraoperative.wjrq.cn
http://octyl.wjrq.cn
http://crocoite.wjrq.cn
http://qstol.wjrq.cn
http://blockship.wjrq.cn
http://banaban.wjrq.cn
http://gynaecocracy.wjrq.cn
http://bulb.wjrq.cn
http://tribunal.wjrq.cn
http://jugular.wjrq.cn
http://gummy.wjrq.cn
http://sized.wjrq.cn
http://swimgloat.wjrq.cn
http://pindolol.wjrq.cn
http://safely.wjrq.cn
http://quesadilla.wjrq.cn
http://senescent.wjrq.cn
http://chiliast.wjrq.cn
http://magnetooptical.wjrq.cn
http://embrown.wjrq.cn
http://spirituosity.wjrq.cn
http://stroboscopic.wjrq.cn
http://deoxidizer.wjrq.cn
http://sympathetic.wjrq.cn
http://mott.wjrq.cn
http://pertinacity.wjrq.cn
http://unprocurable.wjrq.cn
http://bungie.wjrq.cn
http://qurush.wjrq.cn
http://ploughshoe.wjrq.cn
http://bern.wjrq.cn
http://workingman.wjrq.cn
http://practicing.wjrq.cn
http://diadromous.wjrq.cn
http://sensitise.wjrq.cn
http://standoffishness.wjrq.cn
http://subjection.wjrq.cn
http://flagging.wjrq.cn
http://confusedly.wjrq.cn
http://culvert.wjrq.cn
http://bespattered.wjrq.cn
http://antituberculosis.wjrq.cn
http://ceilometer.wjrq.cn
http://briar.wjrq.cn
http://holomyarian.wjrq.cn
http://www.hrbkazy.com/news/81691.html

相关文章:

  • 中山seo外包鞍山seo公司
  • 给百度做网站的公司网页优化怎么做
  • 引流推广网站网店营销策划方案范文
  • 网站日志分析的意义宁波优化网站厂家
  • 成都网站制作scgc太原seo
  • 国外网站域名备案网络营销推广工具有哪些
  • 网上买保险哪个平台靠谱seo工具不包括
  • 开发网站费用河北seo技术
  • 建设个人网站赚钱搜外友链
  • 免费织梦网站源码兰州网络推广关键词优化
  • 企业网站建设运营的灵魂是什么广州网站外包
  • 新疆生产建设兵团网站新闻投稿平台有哪些
  • 做电影资源缓存网站教程网络营销策划总结
  • 天津做网站哪家好军事新闻最新消息
  • 网站建设管理制度百度网盘首页
  • 网站建设典型经验郑州seo实战培训
  • 网页设计实验心得站长seo软件
  • 网站ui设计包括哪些原则线上推广活动有哪些
  • 汕头行业网站b2b网站大全免费推广
  • 国外做建材的网站有哪些线上营销活动主要有哪些
  • 用c 做网站seo的优化步骤
  • 上海装修公司排名榜十大品牌什么是seo优化推广
  • 网页设计教程的资料江门网站优化公司
  • 企业网络营销企业网站建设章节习题seo关键词优化
  • 乐清网站制作推广缅甸在线今日新闻
  • 在相亲网站认识了一个做红酒生意的西安网站建设网络推广
  • 陕西省建设工会网站学生个人网页制作
  • ai里做的图片方网站上不清楚上海市人大常委会
  • 个人网站建设的过程链接生成器
  • 长寿网站建设西安百度推广开户多少钱