硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3652|回复: 13
收起左侧

[emWin] STemWin5.44的命名规则

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2019-4-23 02:15:46 | 显示全部楼层 |阅读模式
今天特地下载了F4的HAL库就为看下这个release文件。

QQ截图20190423021412.jpg

新版的都变成下面这个样子了:

官方原话是:
Remove the dependency on compiler,         无需依赖编译器了,支持GCC,IAR和MDK
Add the dependency to Wchar_t type size     IAR有这个问题,为IAR而解决。


QQ截图20190423021500.jpg



回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2019-4-29 21:24:40 | 显示全部楼层
WC32是啥意思?
回复

使用道具 举报

25

主题

289

回帖

369

积分

高级会员

积分
369
发表于 2019-4-29 22:16:32 | 显示全部楼层

同问,实际使用,应该选哪个wc16还是32?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
 楼主| 发表于 2019-4-30 03:18:15 | 显示全部楼层
爱恋之燕 发表于 2019-4-29 22:16
同问,实际使用,应该选哪个wc16还是32?

都可以,就是你自己使用wchar_t这种方式定义变量的话,注意是32bit还是16bit
回复

使用道具 举报

6

主题

12

回帖

30

积分

新手上路

积分
30
发表于 2019-6-25 16:41:09 | 显示全部楼层
mdk  怎么 添加 库
回复

使用道具 举报

20

主题

396

回帖

456

积分

高级会员

积分
456
发表于 2019-6-25 19:42:17 | 显示全部楼层
根据经验,IAR v8默认用wc32,IAR v7及以前默认用wc16
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2019-7-1 15:23:47 | 显示全部楼层
楼主,EmwinV5.44有移植好的MDK工程吗?参考下
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
 楼主| 发表于 2019-7-1 15:25:40 | 显示全部楼层
璀璨星空 发表于 2019-7-1 15:23
楼主,EmwinV5.44有移植好的MDK工程吗?参考下

基于V7开发板的裸机和各种RTOS版本的emWin程序模板,支持硬件JPEG,已发布(2019-05-26)
http://www.armbbs.cn/forum.php?m ... 3843&fromuid=58
(出处: 安富莱电子论坛)
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2019-7-29 09:59:28 | 显示全部楼层
STemWin5.44 OS_TimeMS怎么没了?时基怎么提供的啊?我照着cubemx下面的例程移植过去,发现GUI_Delay飞快,只有
void GUI_X_Delay(int ms)
{
  vTaskDelay( 200 * ms );
}

才能正常
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
 楼主| 发表于 2019-7-29 10:00:30 | 显示全部楼层
kuyoung 发表于 2019-7-29 09:59
STemWin5.44 OS_TimeMS怎么没了?时基怎么提供的啊?我照着cubemx下面的例程移植过去,发现GUI_Delay飞快, ...

自己提供就行了。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2019-7-29 10:08:27 | 显示全部楼层
eric2013 发表于 2019-7-29 10:00
自己提供就行了。

谢谢,找到我出问题的原因了

int GUI_X_GetTime(void)
{
//  return ((int) osKernelSysTick());
    return ((int) xTaskGetTickCount());
   
}

GUI_X_OS.c文件里用了cmsis_os里的函数,但我初始化的时候没有去初始化cmsis_os
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2019-7-29 10:28:09 | 显示全部楼层
kuyoung 发表于 2019-7-29 10:08
谢谢,找到我出问题的原因了

int GUI_X_GetTime(void)

上面的话不严谨,我往下又查了一下
cubemx里的例程用的是cmsis_os1, 我用的是cmsis_os2,获取SysTick计数的函数变掉了,原来的cmsis_os1是
/**
* @brief  Get the value of the Kernel SysTick timer
* @param  None
* @retval None
* @note   MUST REMAIN UNCHANGED: \b osKernelSysTick shall be consistent in every CMSIS-RTOS.
*/
uint32_t osKernelSysTick(void)
{
  if (inHandlerMode()) {
    return xTaskGetTickCountFromISR();
  }
  else {
    return xTaskGetTickCount();
  }
}

cmsis_os2改为:
#define  osKernelSysTick osKernelGetSysTimerCount

uint32_t osKernelGetSysTimerCount (void) {
  TickType_t ticks;
  uint32_t val;

  portDISABLE_INTERRUPTS();

  ticks = xTaskGetTickCount();

  val = ticks * ( configCPU_CLOCK_HZ / configTICK_RATE_HZ );
  portENABLE_INTERRUPTS();

  return (val);
}

找到:
#define configCPU_CLOCK_HZ                       ( SystemCoreClock )
#define configTICK_RATE_HZ                       ((TickType_t)1000)
又:
uint32_t SystemCoreClock = 16000000;

那么,cmsis_os2获取到的这是啥?为啥要多一步计算?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
 楼主| 发表于 2019-7-29 10:46:59 | 显示全部楼层
kuyoung 发表于 2019-7-29 10:28
上面的话不严谨,我往下又查了一下
cubemx里的例程用的是cmsis_os1, 我用的是cmsis_os2,获取SysTick计 ...

方便动态配置,你修改了宏定义后,不用再单独修改这个。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2019-7-29 10:53:03 | 显示全部楼层
eric2013 发表于 2019-7-29 10:46
方便动态配置,你修改了宏定义后,不用再单独修改这个。

我又在cmsis_os2.c里找到了这个函数

uint32_t osKernelGetTickCount (void) {
  TickType_t ticks;

  if (IS_IRQ()) {
    ticks = xTaskGetTickCountFromISR();
  } else {
    ticks = xTaskGetTickCount();
  }

  return (ticks);
}


这才应该是获取滴答定时器计数的函数。
cmsis_os1到cmsis_os2,错误的以为#define  osKernelSysTick osKernelGetSysTimerCount
只是改了名字,万万没想到函数的功能也变了,从获取获取滴答定时器计数 变成了别的
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-9 14:00 , Processed in 0.233989 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表