0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【中科昊芯Start_DSC28027勇士开发板试用体验】开发环境搭建+跑通例程

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-21 11:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2286219_1_1.html

本文分为两部分:开发环境搭建和
跑通例程

1. 开发环境搭建 首先按照文档从官网下下来安装包,装好之后导入例程,准备开始编译。
然后就遇到了第一个坑,我本机的开发环境比较复杂,从嵌入式开发到客户端软件开发,从后台服务到前端web都有,什么nodejs,python,vs2012,idea都有,光jdk和eclipse就装了好几个版本。导致Haawking IDE装好之后,例程导入不管怎么编译都报错,卸了重装也不行,报错如下。后来还是在官方技术人员gengzh的帮助下才发现是本机上装有mingw,和haawking的编译环境冲突了。
poYBAGKl6e6AMHRRAAB1NhNV2yU341.png


poYBAGKl6eyAOTmwAACP22Wohik640.png

2. 跑通例程
选了一个数码管显示递增数字的例程HX_DSC28027_IIC_TM1650来跑。
首先介绍下原理,设置定时器1ms中断,主程序对中断次数循环计数,360次中断即360ms通过iic接口向数码管发送显示指令,显示指令包括(千位,百位,十位,个位),还做了按键中断响应,当按下101按键时,递增千位数值,当按下103按键时,计数清零,数码管显示0000。
原理不复杂,用到了定时器中断,按键中断和iic通信。详细程序如下。


  1. int main(void)
  2. {
  3. /*初始化系统控制*/
  4. InitSysCtrl();
  5. /*初始化LED*/
  6. InitLED();
  7. /* 清除所有中断和初始化PIE向量表*/
  8. /*禁用CPU中断*/
  9. DINT;
  10. /*初始化PIE控制寄存器到默认状态,默认状态是全部PIE中断被禁用和标志位被清除*/
  11. InitPieCtrl();
  12. /*禁用CPU中断和清除所有CPU中断标志位*/
  13. IER = 0x0000;
  14. IFR = 0x0000;
  15. /*初始化PIE中断向量表,为PIE向量表中的所有中断向量配置对应向量的入口地址*/
  16. InitPieVectTable();
  17. /*定时器0初始化*/
  18. timer0_init();
  19. /*初始化IIC总线的Gpio*/
  20. InitI2C_Gpio();
  21. /*IIC初始化*/
  22. I2CA_Init();
  23. /*软件复位IIC从设备*/
  24. softResetIIC_BUS();
  25. //printf("rnTM1650 init...");//标准C的printf输出测试,串口调试助手设置波特率128000bps,ASCII格式显示
  26. /*BIT6到BIT4为亮度调节,BIT0是1 开启/0关闭*/
  27. LigntVal = 0x11;
  28. /*1级亮度,开启显示*/
  29. TM1650_Send(CMD_SEG, LigntVal);
  30. /*DIG0-DIG3均显示0*/
  31. TM1650_Send(DIG0, SEG7Table[0]);
  32. TM1650_Send(DIG1, SEG7Table[0]);
  33. TM1650_Send(DIG2, SEG7Table[0]);
  34. TM1650_Send(DIG3, SEG7Table[0]);
  35. /*使能全局中断*/
  36. EINT;
  37. /*使能调试事件*/
  38. while(1)
  39. {
  40. /*间隔为360ms*/
  41. if(CpuTimer0.InterruptCount >= 360)
  42. {
  43. /*定时器0中断次数清零*/
  44. CpuTimer0.InterruptCount = 0;
  45. /*D401翻转*/
  46. GpioDataRegs.GPATOGGLE.bit.GPIO6 = 1;
  47. /*Tmp累加,从0-999循环*/
  48. Tmp++;
  49. if(Tmp > 999)
  50. Tmp = 0;
  51. /*DIG1显示Tmp的百位*/
  52. TM1650_Send(DIG1, SEG7Table[Tmp / 100]);
  53. /*DIG2显示Tmp的十位*/
  54. TM1650_Send(DIG2, SEG7Table[(Tmp / 10) % 10]);
  55. /*DIG3显示Tmp的个位*/
  56. TM1650_Send(DIG3, SEG7Table[Tmp % 10]);
  57. /*TM1650获取扫描按键S101 S102 S103,控制数码管数字显示及亮度调节*/
  58. TM1650_Read(CMD_KEY, &keyVal);
  59. /*S101按下时,DIG0显示内容+1*/
  60. if(keyVal == 0x44)
  61. {
  62. keyReg++;
  63. keyReg &= 0x0f;
  64. TM1650_Send(DIG0, SEG7Table[keyReg]);
  65. }
  66. /*S102按下时,改变数码管显示亮度*/
  67. if(keyVal == 0x4c)//
  68. {
  69. /*高四位为亮度调节,最后1位是开启、关闭显示*/
  70. LigntVal = (LigntVal + 0x20) & 0x7F;
  71. /*1级亮度,开启显示*/
  72. TM1650_Send(CMD_SEG, LigntVal);
  73. }
  74. /*按下S103时*/
  75. if(keyVal == 0x54)
  76. {
  77. Tmp = 0;
  78. keyReg = 0;
  79. /*DIG0-DIG3清零*/
  80. TM1650_Send(DIG0, SEG7Table[0]);
  81. TM1650_Send(DIG1, SEG7Table[0]);
  82. TM1650_Send(DIG2, SEG7Table[0]);
  83. TM1650_Send(DIG3, SEG7Table[0]);
  84. /*D400翻转*/
  85. GpioDataRegs.GPATOGGLE.bit.GPIO7 = 1;
  86. }
  87. }
  88. }
  89. }
复制代码

烧写可写入flash,也可写入ram。写入ram计算会更快一些,可以把一些无状态的函数放到ram中,有状态函数和存储数据库放到flash中。
debug过程中需要讲拨码开关全部拨到左侧。在ide中进行debug,通过watch面板观察断点时变量值,也可以通过live view观察变量值的连续变化情况。
最后上一个烧写成功,正在运行的图。再次感谢官方技术人员gengzh。
pYYBAGKl7niAX_8kAAjajE-syLc851.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 中科昊芯
    +关注

    关注

    5

    文章

    85

    浏览量

    6049
  • 开发板试用
    +关注

    关注

    3

    文章

    303

    浏览量

    2806
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【RA-Eco-RA4M2开发板评测】+ 开发板开箱及开发环境搭建

    【RA-Eco-RA4M2开发板评测】 环境搭建
    的头像 发表于 05-09 10:04 422次阅读
    【RA-Eco-RA4M2<b class='flag-5'>开发板</b>评测】+ <b class='flag-5'>开发板</b>开箱及<b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    【乾QXS320F开发板试用】乾QXS320F280049开发板试用报告(一):开发环境搭建与工程创建

    试用平台: ​ 乾QXS320F280049 RevB 双核DSP开发板 开发环境: ​ 乾
    发表于 12-15 15:02

    【获奖名单】2025开发板评测大赛优秀开发者、最受欢迎开发板公布

    各位发烧友们,大家好!2025开发板试用评测大赛已圆满落幕。经过厂商与发烧友平台的共同评选,优秀作品及人选名单现已评选完成,共选出24位优秀作品开发者,被评选上的用户将获得荣誉证书。各工程师参与完
    发表于 11-21 09:31

    【作品合集】中科Core_DSC280025C开发板测评

    。 活动详情地址:【RISC-V专题】中科Core_DSC280025C开发板免费试用 作者
    发表于 09-18 10:52

    【匠创D133CBS KunLun Pi开发板试用体验】介绍、环境搭建

    【匠创D133CBS KunLun Pi开发板试用体验】介绍、环境搭建、工程测试 本文介绍了匠
    发表于 09-17 10:35

    【作品精选】2025电子发烧友开发板测评大赛作品合集!

    Milk-V Duo S 开发板免费试用 玄铁Banana Pi BPI-RV2开发板试用 玄铁Banana Pi BPI-CanMV-K230D-Zero17
    发表于 09-03 15:24

    中科Core_DSC280025C开发板的外部中断问题

    获得中科Core_DSC280025C开发板开发板后,我就抓紧时间研究,无奈学识浅薄,学得很
    发表于 08-08 22:06

    中科Core_DSC280025C开发板试用体验】---LED闪烁灯

    中科Core_DSC280025C开发板试使用了
    发表于 08-07 11:51

    中科Core_DSC280025C开发板试用体验】+4. CAN外设调试(含源码)

    前言 大家好,非常感谢电子发烧友与中科提供的DSC280025C开发板,这是一款DSP的开发板
    发表于 08-05 20:46

    中科Core_DSC280025C开发板试用体验】+3.DSP基础外设调试(含源码)

    前言 大家好,非常感谢电子发烧友与中科提供的DSC280025C开发板,这是一款DSP的开发板
    发表于 07-13 16:07

    中科Core_DSC280025C开发板试用体验】+2.RAM工程与FLASH工程对比

    前言 大家好,非常感谢电子发烧友与中科提供的DSC280025C开发板,这是一款DSP的开发板
    发表于 07-04 10:37

    中科Core_DSC280025C开发板试用体验】+1.开箱之浮点计算对比

    中科Core_DSC280025C开发板试用体验】+1.开箱之浮点计算对比 前言 大家好,
    发表于 06-29 10:01

    迅为RK3576开发板NPU例程测试-rknn-toolkit2环境搭建和使用

    迅为RK3576开发板NPU例程测试-rknn-toolkit2环境搭建和使用
    的头像 发表于 06-17 13:46 2120次阅读
    迅为RK3576<b class='flag-5'>开发板</b>NPU<b class='flag-5'>例程</b>测试-rknn-toolkit2<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>和使用

    有奖丨米尔 瑞微RK3562开发板免费试用新增名额!

    米尔与瑞微合作发布的新品基于瑞微RK3562应用处理器的MYD-YR3562开发板免费试用名额增加
    的头像 发表于 06-13 08:04 2170次阅读
    有奖丨米尔 瑞<b class='flag-5'>芯</b>微RK3562<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>新增名额!

    中科Core_DSC280025C开发板免费试用

    Core_DSC280025C核心使用了HXS320F28025C RISC-V   DSP芯片,该芯片集成了吴自主研发的H28x内
    的头像 发表于 06-03 19:30 1488次阅读
    <b class='flag-5'>中科</b><b class='flag-5'>昊</b><b class='flag-5'>芯</b>Core_<b class='flag-5'>DSC</b>280025C<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>