查看: 679|回复: 3
收起左侧

RISC-Vduino UNO Board+Processing串口通信

[复制链接]

  离线 

  • TA的每日心情

    2022-6-26 13:17
  • 签到天数: 4 天

    [LV.2]

    发表于 2022-1-21 15:45:47 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 51MCU 于 2022-1-21 15:59 编辑

    Processing串口编程+RISC-Vduino串口通信(Processing从串口读取数据)
    Processing开发RISC-Vduino UNO Board,成功实现Processing接收到来自
    RISC-Vduino UNO Board的问候:Hello,Processing! I am RISC-Vduino Board!Processing 成功实现下发数据控制RISC-Vduino UNO Board上的LED亮灭


    【1】硬件
    1.笔记本或PC电脑(建议系统Windows/Linux)[电脑应该都有吧]
    2.RISC-Vduino UNO Board [手头没有,某宝或PDD淘一块吧]
    3.USB 下载线
    4.USB mini通信线
    Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(1) Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(2) Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(3)




    【2】软件
    1.MRS(除了MounRiver Studio IDE,也可以选其他RISC-V IDE


    2.Processing
    Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(4)


    【3】上传开源代码
    RISC-Vduino UNO Board开源代码:
    1. void HelloWorld_LED_Init(void)
    2. {
    3.     GPIO_InitTypeDef  GPIO_InitStructure;
    4.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    5.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    6.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    7.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    8.     GPIO_Init(GPIOA, &GPIO_InitStructure);
    9.     GPIO_ResetBits(GPIOA,GPIO_Pin_1);
    10. }

    11. // the main function runs once when you press reset or power the RISC-Vduino board
    12. int main(void)
    13. {
    14.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    15.     Delay_Init();
    16.     USART_Printf_Init(9600);// initialize serial communication at 9600 bits per second:
    17.     printf("SystemClk:%d\r\n",SystemCoreClock);
    18.     printf("This is SerialCommunication example\r\n");
    19.     HelloWorld_LED_Init();
    20.     // the while function runs over and over again forever
    21.     while(1)
    22.     {
    23.         //Processing串口编程+RISC-Vduino串口通信(RISC-Vduino串口读取Processing下发的数据)
    24.         if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != RESET)
    25.         {
    26.            if(USART_ReceiveData(USART1) == 0x00)
    27.            {
    28.              GPIO_ResetBits(GPIOA,GPIO_Pin_1);// CLOSE RISC-Vduino BOARD LED
    29.            }
    30.            if(USART_ReceiveData(USART1) == 0x01)
    31.            {
    32.              GPIO_SetBits(GPIOA,GPIO_Pin_1); // OPEN RISC-Vduino BOARD LED
    33.            }
    34.         }
    35.         //Processing串口编程+RISC-Vduino串口通信(Processing从RISC-Vduino串口上传数据)
    36.         printf("Hello,Processing!\r\n");
    37.         Delay_Ms(25);
    38.         printf("I am RISC-Vduino Board!\r\n");
    39.     }
    40. }
    复制代码

    Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(5)

    RISC-Vduino UNO Board全部工程代码下载地址:

    https://gitee.com/risc-v-mcu-chinese-network/RISC-Vduino-UNO-RevC/blob/develop/SoftwareFirmware_BASIC/RISC-Vduino_08_SerialCommunication.zip


    Processing开源代码:
    1. import processing.serial.*;
    2. Serial port;  // Create object from Serial class
    3. String message;

    4. void setup()
    5. {
    6.   port = new Serial(this, "COM3", 9600);//open windows Device COM3,from RISC-Vduino UNO Board connect!
    7. }
    8. void draw()
    9. {
    10.   message = port.readString();
    11.   print(message);
    12.   port.write(1);  // OPEN RISC-Vduino BOARD LED
    13.   //port.write(0);// CLOSE RISC-Vduino BOARD LED
    14. }
    复制代码

    Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(6)

    Processing全部工程代码下载地址:

    https://gitee.com/risc-v-mcu-chinese-network/Processing--RISC-Vduino/tree/develop/

    【4】背景小知识
    Processing简介:Processing是数位艺术软件,纯软件平台,无法直接控制硬件,而借助RISC-Vduino,可以读取各种传感器的数值,也可控制各种机电装置,可扩展用于控制智能家居,无人飞机,机器人等各种硬件实体.用Processing来学计算机语言,编程的结果能表现为更加直观、友好的数位图片,或者是动态影像,这样会激发学生们敲程序的冲动,让编程变成有趣的创作经历.
          生活中有相当一部分机器人爱好者是非计算机专业的人员,对于他们来说,专业软件开发平台的编程技术会成为其学习的障碍,从而导致他们放弃深入探究的计划!2001年,麻省理工学院(MIT)媒体实验室的Casey Reas和BenjaminFry发起了此计划,其特定目标之一便是开发一个有效的工具,通过激励性的可视化反馈,帮助非程序员进行编程的入门学习。
           Processing语言建立在Java语言的基础之上,但使用简化的语法和图形编程模型。Processing是一种开源的编程语言和环境,它服务于有创意的设计师和艺术家,这些人希望利用某种程序,来创意静态图像和动态影像,并使创作的作品能与人产生良好的互动。这个软件最初的开发目的是作为一种学习编程软件,能够可视化的方法,教学习者计算机编程基础,现在它已经演化为完成专业工作的工具。现有成千上万的学生,艺术家,设计师,研究人员,和爱好者,用Processing来学习、创意和制作产品。
          例如想让在电脑PC中设计的艺术作品与外部物理世界进行互动,让作品能与人和物产生“对话”,就需要传感器把外部环境的信息,采集到电脑中处理,做到这一点,目前通常的方法是通过RISC-Vduino控制器把传感器数据,通过串口通信,读到上位机软件Processing里,然后通过处理,让Processing数位作品的某些特征与传感器数据产生关联,于是物理世界的环境数据发生变化时,也会使虚拟数字世界的作品随之互动,不断幻化出动态语义的奇妙画面。





    下一篇:[实例1-Processing画框点灯]:Processing与RISC-Vduino编程实战(既面向对象又面向过程编程)
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

      离线 

  • TA的每日心情
    开心
    2023-1-20 22:24
  • 签到天数: 54 天

    [LV.5]

    发表于 2022-1-21 16:58:35 | 显示全部楼层
    强烈推荐!!!
    全球首家只专注于RISC-V单片机行业应用的中文网站
    点评回复

    使用道具 举报

      离线 

  • TA的每日心情
    奋斗
    2022-6-21 08:23
  • 签到天数: 2 天

    [LV.1]

    发表于 2022-1-21 18:02:38 | 显示全部楼层
    这个简直是指导性教程啊。。。Processing Java-RISC-Vduino UNO Board+Processing串口通信risc-v单片机中文社区(7)
    全球首家只专注于RISC-V单片机行业应用的中文网站

      离线 

  • TA的每日心情
    奋斗
    2022-2-18 00:56
  • 签到天数: 16 天

    [LV.4]

    发表于 2022-1-21 18:34:43 | 显示全部楼层
    72MHz~108MHz的32位RISC-Vduino Board的确是比8位AVR Arduino Board强大太多了,有了MIT的Processing加持,创新玩法无限啊
    全球首家只专注于RISC-V单片机行业应用的中文网站
    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条


    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-25 15:02 , Processed in 0.595263 second(s), 54 queries .

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