1、port的输出
首先是led是4*4矩阵。
硬件驱动说明,行的控制是PMOS驱动,低电平有效,列的控制是NMOS驱动,高电平有效。

引脚映射:
行:XS1_PORT_4C,列:XS1_PORT_4D。
引脚:

行:
LED_ROW_0----X1D14
LED_ROW_1----X1D15
LED_ROW_2----X1D20
LED_ROW_3----X1D21

列:
LED_COL_0----X1D16
LED_COL_1----X1D17
LED_COL_2----X1D18
LED_COL_3----X1D19

/******************************************正确运行程序***********************************************/

#include "xs1.h"
#include "stdio.h"
#include <platform.h>

on tile[1]: out  port led_row = XS1_PORT_4C;//映射port引脚,且指定在tile[1]上的port
on tile[1]: out  port led_col = XS1_PORT_4D; //映射port引脚,且指定在tile[1]上的port

void led(void)
{
    while(1)
    {
        led_row <: 0x0; //置低电位   
        led_col <: 0xF; //置高电位
    }

}

int main(void)
{
    
    par
    {
        on tile[1]: led();
    }
    
    return 0;
}

/********************************************************************************/
首先如果一开始在端口声明中带了“on tile[1]:”,而在调用port的操作函数时没有指定tile,那么编译器就会报错。

例如:在全局中,声明了:on tile[1]: out  port led_row = XS1_PORT_4C;
                                           on tile[1]: out  port led_col  = XS1_PORT_4D;

然后主函数中,没有用到或者是led();函数前没有加“on tile[1]:”,那么就会报错。

报错如下:

报错:Error: Resource "led_row" placed on "tile[1]" will not be initialised without a multi-tile main function.

解决办法:

led_row和led_col指定on tile[1]运行的port,加上“on tile[1]:”,重新编译就可以了。问题就处在你指定了芯片的tile的硬件资源却没有用它,编译器就会认定为违规。

这种情况主要发生在多core的芯片上,因为单Core的芯片上port 默认在tile[0]上。

简而言之就是在port的映射上,首先要查看port映射表,看所用到的引脚在哪个块上。(注解:引脚标号 XnDpq, n 指代芯片上xCore上的标号,pq 为引脚标号。)

例如上面用到的 XS1_PORT_4C 指代的引脚为4 bit 的port,该port指代了(X1D14、X1D15、X1D20、X1D21 这4个引脚。这也是XMOS和其他单片机之间所不同的地方,这个主要是因为XMOS的底层硬件框架的不同所确定的)。

XMOS笔记1--LED的控制相关推荐

  1. Linux设备树led,linux设备树下LED灯控制

    linux设备树下LED灯控制 linux设备树下LED灯控制 原理图: 所以在设备树下子节点下插入gpioled节点: gpioled { #address-cells = <1>; # ...

  2. stm32 led屏控制卡_LED显示屏控制卡解析

    LED显示屏控制卡是LED图文显示屏的核心部件,负责接收来自计算机串行口的画面显示信息,置入帧存储器,按分区驱动方式生成天津LED显示屏所需的串行显示数据和扫描控制时序.LED显示屏画面的效果与它有关 ...

  3. led显示屏控制卡接线图解_Led显示屏出现花屏是什么原因

    Led显示屏已经成为现在人们推广的一种形式了,很多地方都是离不开led显示屏的使用的.由于Led显示屏的五彩绚烂,也更加吸引人们的眼球.不过在使用过程中,也会遇到Led显示屏花屏的情况.那么,Led显 ...

  4. html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制

    当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...

  5. 二、点亮LED(GPIO控制)

    二.点亮LED(GPIO控制) 文件状态: [ ] 草稿 [ ] 正在修改 [ √ ] 正式发布 文件标识: 当前版本: V1.1 作 者: Skymixos 完成日期: 2022年10月02日 版 ...

  6. python led屏控制_【教程】简易Python上位机之LED控制

    电子爱好者应该不会对"上位机"这个词感到陌生,毕竟或多或少有过接触.但若是说到上位机的开发的话,大家就不一定熟悉了.很多电子爱好者完全没有接触过上位机的开发工作,他们真的没有相应的 ...

  7. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.1 LED显示控制实验

    写在前面-- <STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>第四章4.1,本节将通过LED显示控制实验,学习STM32G431的开发技 ...

  8. UP-MOBNET-Ⅱ型实验箱LED驱动控制实验

    UP-MOBNET-Ⅱ型实验箱LED驱动控制实验 文章目录 实验箱 实验内容 实验环境 实验原理 硬件接口原理 驱动层程序分析 应用层程序分析: Makefile: 实验步骤 实验目录: 在内核中添加 ...

  9. 软件测试学习笔记(三)控制数据流测试

    软件测试学习笔记(三)控制&数据流测试 视频链接:软件测试_中国大学MOOC 2.3 结构化覆盖 2.4 控制流测试 2.5 数据流测试 1.什么是顶点覆盖? 对每个测试需求,即可达顶点,都可 ...

  10. MT7621方案 LED 灯控制 (基于OpenWrt平台)

    注:出处不明,最开始是在这里看到的,图竟然没有...没有...相关资料也几乎木有...datasheet里也没有寄存器配置说明......MT7621还真是坑爹啊! 目前市面上大部分路由器方案是基于M ...

最新文章

  1. springboot-mysql-email集成
  2. vue设置ioc图标和title
  3. 眼睛很疼(2005-5-10)
  4. mybatis generator 中文注释_mybatis代码生成器,提高开发效率
  5. php数字取反,[转+自]关于PHP7的新特性(涉及取反和disabled_functions绕过)
  6. oracle查询表的id,oracle 查看所有用户及密码 实现Oracle查询用户所有表
  7. 发现一个奇怪的问题: 不能把文件取名为 con
  8. 提交第一个spark作业到集群运行
  9. 【Python实例第14讲】普通判别分析与缩水判别分析
  10. 零基础怎么学计算机编程!看完的你,应该会恍然大悟!
  11. Telink 825x 蓝牙开发笔记1
  12. 截止失真放大电路_一起学模电:6、放大电路静态与动态分析方法
  13. 汇率兑换查询易语言代码
  14. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC - apoc.periodic.iterate()过程在4.0版本中的重大变化
  15. web用户中心设计_关于Web设计和用户体验的10个误解
  16. oracle 动态声明变量_Oracle11g新特性之动态变量窥视
  17. 谷歌中国推出10款有趣的小工具
  18. 第三方软件MOOS-IvP扩展
  19. 12306 订票助手(火车票订票插件)
  20. 我国计算机把计算机分为巨型,把计算机分为巨型机大中型机按照什么分的

热门文章

  1. Maven命令行窗口指定settings.xml
  2. 色色的互联网名词解释整理
  3. 【Python】实现csv文件转json文件
  4. NSIS打包软件,初步使用心得
  5. 为什么神经网络层数越多越好?训练次数与层数的区别与联系
  6. Oracle导出报错: unknown command beginning “exp SCOTT/...“ - rest of line ignored.
  7. 《大话数据结构》笔记——第8章 查找(四)
  8. pycharm安装sklearn失败解决方法
  9. java和工程造价_(   )不是Java的开发工具。
  10. How to prevent object bloat in PostgreSQL