瑞萨-想说用你太难了

gaoyang9992006   2013-12-4 19:27 楼主
话说得到一个MCU芯片开发板,第一件事就是安装它的开发环境软件,这个就要体现出方便快捷,无阻碍,而你们瑞萨却要求注册,注册完了,很难找到要下载的开发软件在哪儿,反正我是比较愚钝迟钝的那种人,找了老半天可费劲了,安装后发现根本不管用,我下载了http://cn.renesas.com/support/do ... studio_2.1.0.21.exe
这个玩意儿,然后安装file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\734774645\QQ\WinTemp\RichOle\}`4LU5%45EFW21QNSSA{`6I.jpg了老半天,发现根本不能运行我下载的示例程序
QQ图片20131204192417.jpg
看看这安装那个Renesas_e2_studio_2.1.0.21.exe后,下载的工程文件根本没有关联,都不知道怎么运行你们的例子,这也是你们在中国市场发展不好的一个原因。
QQ截图20131204192554.jpg
还提醒没有工具链,IDE开发软件没有工具链还叫什么IDE啊,、小日本太奇葩了。
  1. /***********************************************************************************************************************
  2. * DISCLAIMER
  3. * This software is supplied by Renesas Electronics Corporation and is only
  4. * intended for use with Renesas products. No other uses are authorized. This
  5. * software is owned by Renesas Electronics Corporation and is protected under
  6. * all applicable laws, including copyright laws.
  7. * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
  8. * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
  9. * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
  10. * AND NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
  11. * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
  12. * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
  13. * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
  14. * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
  15. * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  16. * Renesas reserves the right, without notice, to make changes to this software
  17. * and to discontinue the availability of this software.  By using this software,
  18. * you agree to the additional terms and conditions found by accessing the
  19. * following link:
  20. * http://www.renesas.com/disclaimer
  21. *
  22. * Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved.
  23. ***********************************************************************************************************************/

  24. /***********************************************************************************************************************
  25. * File Name    : r_cg_adc.c
  26. * Version      : CodeGenerator for RL78/G14
  27. * Device(s)    : R5F104PJ
  28. * Tool-Chain   : GNURL78 v12.01
  29. * Description  : This file implements device driver for ADC module.
  30. * Creation Date: 02/04/2012
  31. ***********************************************************************************************************************/

  32. /***********************************************************************************************************************
  33. Pragma directive
  34. ***********************************************************************************************************************/
  35. /* Start user code for pragma. Do not edit comment generated here */
  36. /* End user code. Do not edit comment generated here */

  37. /***********************************************************************************************************************
  38. Includes
  39. ***********************************************************************************************************************/
  40. #include "r_cg_macrodriver.h"
  41. #include "r_cg_adc.h"
  42. /* Start user code for include. Do not edit comment generated here */
  43. /* End user code. Do not edit comment generated here */
  44. #include "r_cg_userdefine.h"

  45. /***********************************************************************************************************************
  46. Global variables and functions
  47. ***********************************************************************************************************************/
  48. /* Start user code for global. Do not edit comment generated here */
  49. /* End user code. Do not edit comment generated here */

  50. /***********************************************************************************************************************
  51. * Function Name: R_ADC_Create
  52. * Description  : This function initializes the AD converter.
  53. * Arguments    : None
  54. * Return Value : None
  55. ***********************************************************************************************************************/
  56. void R_ADC_Create(void)
  57. {
  58.     ADCEN = 1U;  /* supply AD clock */
  59.     ADM0 = _00_AD_ADM0_INITIALVALUE;  /* disable AD conversion and clear ADM0 register */
  60.     ADMK = 1U;  /* disable INTAD interrupt */
  61.     ADIF = 0U;  /* clear INTAD interrupt flag */
  62.     /* Set INTAD low priority */
  63.     ADPR1 = 1U;
  64.     ADPR0 = 1U;
  65.     /* Set ANI0 - ANI8 pin as analog input */
  66.     PM2 |= 0xFFU;
  67.     PM15 |= 0x01U;
  68.     ADM0 = _18_AD_CONVERSION_CLOCK_8 | _00_AD_TIME_MODE_NORMAL_1 | _00_AD_OPERMODE_SELECT;
  69.     ADM1 = _00_AD_TRIGGER_SOFTWARE | _00_AD_CONVMODE_CONSELECT;
  70.     ADM2 = _00_AD_POSITIVE_VDD | _00_AD_NEGATIVE_VSS | _00_AD_AREA_MODE_1 | _00_AD_RESOLUTION_10BIT;
  71.     ADUL = _FF_AD_ADUL_VALUE;
  72.     ADLL = _00_AD_ADLL_VALUE;
  73.     ADS = _08_AD_INPUT_CHANNEL_8;
  74.     ADCE = 1U;  /* enable AD comparator */
  75. }

  76. /***********************************************************************************************************************
  77. * Function Name: R_ADC_Start
  78. * Description  : This function starts the AD converter.
  79. * Arguments    : None
  80. * Return Value : None
  81. ***********************************************************************************************************************/
  82. void R_ADC_Start(void)
  83. {
  84.     ADIF = 0U;  /* clear INTAD interrupt flag */
  85.     ADMK = 0U;  /* enable INTAD interrupt */
  86.     ADCS = 1U;  /* enable AD conversion */
  87. }

  88. /***********************************************************************************************************************
  89. * Function Name: R_ADC_Stop
  90. * Description  : This function stops the AD converter.
  91. * Arguments    : None
  92. * Return Value : None
  93. ***********************************************************************************************************************/
  94. void R_ADC_Stop(void)
  95. {
  96.     ADCS = 0U;  /* disable AD conversion */
  97.     ADMK = 1U;  /* disable INTAD interrupt */
  98.     ADIF = 0U;  /* clear INTAD interrupt flag */
  99. }

  100. /***********************************************************************************************************************
  101. * Function Name: R_ADC_Set_OperationOn
  102. * Description  : This function enables comparator operation.
  103. * Arguments    : None
  104. * Return Value : None
  105. ***********************************************************************************************************************/
  106. void R_ADC_Set_OperationOn(void)
  107. {
  108.     ADCE = 1U;  /* enable AD comparator */
  109. }

  110. /***********************************************************************************************************************
  111. * Function Name: R_ADC_Set_OperationOff
  112. * Description  : This function stops comparator operation.
  113. * Arguments    : None
  114. * Return Value : None
  115. ***********************************************************************************************************************/
  116. void R_ADC_Set_OperationOff(void)
  117. {
  118.     ADCE = 0U;  /* disable AD comparator */
  119. }

  120. /***********************************************************************************************************************
  121. * Function Name: R_ADC_Get_Result
  122. * Description  : This function returns the conversion result in the buffer.
  123. * Arguments    : buffer -
  124. *                    the address where to write the conversion result
  125. * Return Value : None
  126. ***********************************************************************************************************************/
  127. void R_ADC_Get_Result(uint16_t * const buffer)
  128. {
  129.     *buffer = (uint16_t)(ADCR >> 6U);
  130. }

  131. /* Start user code for adding. Do not edit comment generated here */
  132. /* End user code. Do not edit comment generated here */
看这ADC代码却还是很不错的,模块化的设计风格。
我给瑞萨的建议就是将网站整改,建立快速下载通道,别在弄什么非要注册才能下载,注册的账号密码够多了,都没记住。另外开发某一系列芯片的开发工具放到一个页面里,一键就能下载所有相关的文件,话说开发人员哪有那么多时间跟你躲猫猫啊。
另外编写中文的技术教程,同时建议示例程序可以打包一次下载。找来找去的,找不到一下啊就不想用了。这也是很重要的竞争力,希望你们能知错就改,话说钓鱼岛是中国的,这点你们必须要承认。

[ 本帖最后由 gaoyang9992006 于 2013-12-4 19:36 编辑 ]

回复评论 (8)

上面的文件是*.c实现部分,可以看出包含头文件
#include "r_cg_macrodriver.h"
#include "r_cg_adc.h"
/* Start user code for include. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"
看到没,这三个,并提示不要随便修改里面的内容。
因为这可能会影响到其他函数的正常运行。
点赞  2013-12-4 19:38
在做万用表中,主要就是在使用ADC功能,另外一些按键的操作,这就要用到IO输入输出或者IO中断功能。
所以我至今不知道如何在官网推荐的开发软件E2 Studio下开发。
点赞  2013-12-4 19:43
瑞撒的例程典型JP编程风格,严谨,按部就班
点赞  2013-12-4 19:43
QQ截图20131204194512.jpg
下载工具链也需要很麻烦的注册,于是我干脆不弄了。累死我了。
点赞  2013-12-4 19:46
这个干脆
点赞  2013-12-4 19:54
楼主可以可以考虑使用IAR,我玩RL78的时候还是不错的!
点赞  2013-12-4 20:04
我情愿用ST的32位机,毕竟国内GD有对应的替代产品。低端八位可以选择海尔,但是海尔的销售策略也蛋疼的一笔
点赞  2013-12-4 20:33
CubeSuite+还是很好用的。特别是里面的代码生成功能。我的帖子有详细说明,有兴趣可以过去看看。
点赞  2013-12-4 20:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复