XMOS笔记1--LED的控制
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的控制相关推荐
- Linux设备树led,linux设备树下LED灯控制
linux设备树下LED灯控制 linux设备树下LED灯控制 原理图: 所以在设备树下子节点下插入gpioled节点: gpioled { #address-cells = <1>; # ...
- stm32 led屏控制卡_LED显示屏控制卡解析
LED显示屏控制卡是LED图文显示屏的核心部件,负责接收来自计算机串行口的画面显示信息,置入帧存储器,按分区驱动方式生成天津LED显示屏所需的串行显示数据和扫描控制时序.LED显示屏画面的效果与它有关 ...
- led显示屏控制卡接线图解_Led显示屏出现花屏是什么原因
Led显示屏已经成为现在人们推广的一种形式了,很多地方都是离不开led显示屏的使用的.由于Led显示屏的五彩绚烂,也更加吸引人们的眼球.不过在使用过程中,也会遇到Led显示屏花屏的情况.那么,Led显 ...
- html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制
当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...
- 二、点亮LED(GPIO控制)
二.点亮LED(GPIO控制) 文件状态: [ ] 草稿 [ ] 正在修改 [ √ ] 正式发布 文件标识: 当前版本: V1.1 作 者: Skymixos 完成日期: 2022年10月02日 版 ...
- python led屏控制_【教程】简易Python上位机之LED控制
电子爱好者应该不会对"上位机"这个词感到陌生,毕竟或多或少有过接触.但若是说到上位机的开发的话,大家就不一定熟悉了.很多电子爱好者完全没有接触过上位机的开发工作,他们真的没有相应的 ...
- 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.1 LED显示控制实验
写在前面-- <STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>第四章4.1,本节将通过LED显示控制实验,学习STM32G431的开发技 ...
- UP-MOBNET-Ⅱ型实验箱LED驱动控制实验
UP-MOBNET-Ⅱ型实验箱LED驱动控制实验 文章目录 实验箱 实验内容 实验环境 实验原理 硬件接口原理 驱动层程序分析 应用层程序分析: Makefile: 实验步骤 实验目录: 在内核中添加 ...
- 软件测试学习笔记(三)控制数据流测试
软件测试学习笔记(三)控制&数据流测试 视频链接:软件测试_中国大学MOOC 2.3 结构化覆盖 2.4 控制流测试 2.5 数据流测试 1.什么是顶点覆盖? 对每个测试需求,即可达顶点,都可 ...
- MT7621方案 LED 灯控制 (基于OpenWrt平台)
注:出处不明,最开始是在这里看到的,图竟然没有...没有...相关资料也几乎木有...datasheet里也没有寄存器配置说明......MT7621还真是坑爹啊! 目前市面上大部分路由器方案是基于M ...
最新文章
- springboot-mysql-email集成
- vue设置ioc图标和title
- 眼睛很疼(2005-5-10)
- mybatis generator 中文注释_mybatis代码生成器,提高开发效率
- php数字取反,[转+自]关于PHP7的新特性(涉及取反和disabled_functions绕过)
- oracle查询表的id,oracle 查看所有用户及密码 实现Oracle查询用户所有表
- 发现一个奇怪的问题: 不能把文件取名为 con
- 提交第一个spark作业到集群运行
- 【Python实例第14讲】普通判别分析与缩水判别分析
- 零基础怎么学计算机编程!看完的你,应该会恍然大悟!
- Telink 825x 蓝牙开发笔记1
- 截止失真放大电路_一起学模电:6、放大电路静态与动态分析方法
- 汇率兑换查询易语言代码
- Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC - apoc.periodic.iterate()过程在4.0版本中的重大变化
- web用户中心设计_关于Web设计和用户体验的10个误解
- oracle 动态声明变量_Oracle11g新特性之动态变量窥视
- 谷歌中国推出10款有趣的小工具
- 第三方软件MOOS-IvP扩展
- 12306 订票助手(火车票订票插件)
- 我国计算机把计算机分为巨型,把计算机分为巨型机大中型机按照什么分的
热门文章
- Maven命令行窗口指定settings.xml
- 色色的互联网名词解释整理
- 【Python】实现csv文件转json文件
- NSIS打包软件,初步使用心得
- 为什么神经网络层数越多越好?训练次数与层数的区别与联系
- Oracle导出报错: unknown command beginning “exp SCOTT/...“ - rest of line ignored.
- 《大话数据结构》笔记——第8章 查找(四)
- pycharm安装sklearn失败解决方法
- java和工程造价_( )不是Java的开发工具。
- How to prevent object bloat in PostgreSQL