4775|1

638

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

插科打诨FreeRTOS\PWM [复制链接]

        以后要对自己的板子好点,鬼才知道它在离开你后都会经历些什么。
        这两天挤出点时间把FreeRTOS移植了一下,只是插科打诨而已没有太多细节。
        
        具体移植细节附件有一个按着教程一步一步来大体上没啥问题。
        期间遇到的问题也仅仅只有以下这句
        #error This port can only be used when the project options are configured to enable hardware floating point support.
        而GD32F350是没有硬件浮点数单元的,只是粗略看了看datasheet,如果有各位可以那搬砖拍拍我的脑子。所以呢咋办?我是用的M3的port.c文件如果有更好的办法还望通知一下懒惰到无药可救的我。
        然后就是一切顺利然并卵的是感觉时间有问题各种有问题,所以写了个读取时钟的任务

void clock_get_task(void * pvParameters)
{
while(1){
  vTaskDelay(4000);
  printf("%s =%d\r\n","rcu_clock_freq_get.CK_SYS",rcu_clock_freq_get(CK_SYS));
  printf("%s =%d\r\n","rcu_clock_freq_get.CK_AHB",rcu_clock_freq_get(CK_AHB));
  printf("%s =%d\r\n","rcu_clock_freq_get.CK_APB1",rcu_clock_freq_get(CK_APB1));
  printf("%s =%d\r\n","rcu_clock_freq_get.CK_APB2",rcu_clock_freq_get(CK_APB2));
  printf("%s =%d\r\n","rcu_clock_freq_get.CK_USART",rcu_clock_freq_get(CK_USART));
  
  printf("%s =%d\r\n","rcu_clock_freq_get",rcu_system_clock_source_get());
}
}
得到的结果是

至于原因肯定就是时钟配置问题了,然后郁闷的既然你们不含8M外部时钟,那么为啥代码里还要这样,本就是小白的我们就是这么被你们折磨到放弃的。。。

改掉或者动动烙铁,前提是你的有一样封装的晶振,本人懒癌发作还是该代码吧

然后世界就清新了

然后就是PWM 输出了  用的TIMER2输出4路PWM,看源码 试呗没啥太难的,郁闷的是惯性思维害死人,如下图左侧是模块框图右边是时钟框图,本能我仅仅只看了左侧的那个把 TIMER2的时钟当成了APB1,唉。。。可能我真的不适合这行了

最后就是见证奇迹的时刻代码加点
void led_task( void * pvParameters ){
while(1){
  vTaskDelay(500);
  led_cmd(LED4,LED_ON);
  vTaskDelay(500);
  led_cmd(LED4,LED_OFF);
  set_pwm(TIMER_CH_1,data_ch2);
  data_ch2+=100 ;
  if(data_ch2>1000){
   data_ch2 = 0 ;
  }
}
}
下载验证一切顺利OK,明天还得加班唉,周末过得比工作日还心酸。放图结案


从0开始移植FreeRTOS.pdf

1.99 MB, 下载次数: 75

此帖出自GD32 MCU论坛

最新回复

nmg
你分享的这个文档,下载次数还挺多  详情 回复 发表于 2018-10-24 10:54
点赞 关注(1)
 

回复
举报

5220

帖子

236

TA的资源

管理员

沙发
 
你分享的这个文档,下载次数还挺多
此帖出自GD32 MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表