当前位置: 首页 > news >正文

长阳网站建设百度做网站联系电话

长阳网站建设,百度做网站联系电话,三亚旅游网站建设,江西省城乡建设厅网站证件查询0 设备 创龙C6657Artix-7工业评估板 SEED-XDS560v2 1 实现功能 控制评估底板 LED1 、 LED2 、 LED3 每隔 0.5s 将状态同时翻转一次。 采用查询的方式控制评估版的KEY2控制LED2亮灭。 2 代码 2.1 GPIO驱动 2.1.1 c66x_gpio.c /* Compiler Header files */ #include …0 设备 创龙C6657Artix-7工业评估板    SEED-XDS560v2 1 实现功能 控制评估底板 LED1 、 LED2 、 LED3 每隔 0.5s 将状态同时翻转一次。 采用查询的方式控制评估版的KEY2控制LED2亮灭。 2 代码 2.1 GPIO驱动 2.1.1 c66x_gpio.c /* Compiler Header files */ #include stdint.h/* CSL Header file */ #include ti/csl/cslr_gpio.h #include ti/csl/csl_gpio.h #include ti/csl/csl_gpioAux.h#include c66x_gpio.h/*功能设置指定GPIO引脚的方向输入或输出参数gpio_num - GPIO引脚编号direction - GPIO方向GPIO_OUT 或 GPIO_IN*/ void gpio_set_direction(uint32_t gpio_num, gpio_direction direction) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);if (direction GPIO_OUT) {/* Set gpio pin as output mode */CSL_GPIO_setPinDirOutput(h_gpio, gpio_num);} else {/* Set gpio pin as input mode */CSL_GPIO_setPinDirInput(h_gpio, gpio_num);} }/*功能设置GPIO[7:0]即GPIO0至GPIO7的方向参数direction - GPIO方向GPIO_OUT 或 GPIO_IN*/ void gpio_set_databus_direction(gpio_direction direction) {uint32_t pin_num;for (pin_num GPIO_0; pin_num GPIO_7; pin_num) {/* Set gpio pin as output/input mode */gpio_set_direction(pin_num, direction);} }/*功能将指定的GPIO引脚状态设置为高电平1参数gpio_num - GPIO引脚编号注意GPIO引脚必须配置为输出模式*/ void gpio_set_output(uint32_t gpio_num) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);CSL_GPIO_setOutputData(h_gpio, gpio_num); }/*功能将指定的GPIO引脚状态设置为低电平0参数gpio_num - GPIO引脚编号注意GPIO引脚必须配置为输出模式*/ void gpio_clear_output(uint32_t gpio_num) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);CSL_GPIO_clearOutputData(h_gpio, gpio_num); }/*功能读取指定GPIO引脚的输入状态参数gpio_num - GPIO引脚编号返回值GPIO引脚的输入状态注意GPIO引脚必须配置为输入模式*/ uint8_t gpio_read_input(uint32_t gpio_num) {uint8_t inData 0;CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);CSL_GPIO_getInputData(h_gpio, gpio_num, inData);return inData; }/*功能向GPIO[7:0]写入一个8位的值参数val - 要写入的8位值注意GPIO[7:0]必须配置为输出模式*/ void gpio_write_databus(uint8_t val) {uint32_t pin_num;uint8_t value;for (pin_num GPIO_0; pin_num GPIO_7; pin_num) {value (val pin_num) 0x1;if (value GPIO_HIGH) {gpio_set_output(pin_num);} else {gpio_clear_output(pin_num);}} }/*功能从GPIO[7:0]读取一个8位的值返回值GPIO[7:0]的输入状态注意GPIO[7:0]必须配置为输入模式*/ uint8_t gpio_read_databus(void) {uint32_t pin_num;uint8_t value, bitval;/* initialize variables */value 0;for (pin_num GPIO_0; pin_num GPIO_7; pin_num) {bitval gpio_read_input(pin_num);value | bitval pin_num;}return value; }/*功能使能GPIO全局中断到CPU*/ void gpio_enable_global_interrupt(void) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);/* GPIOREGS-BINTEN | 0x01 */CSL_GPIO_bankInterruptEnable(h_gpio, GPIOBANKNUM); }/*功能禁用GPIO全局中断到CPU*/ void gpio_disable_global_interrupt(void) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);/* GPIOREGS-BINTEN 0x00 */CSL_GPIO_bankInterruptDisable(h_gpio, GPIOBANKNUM); }/*功能设置指定GPIO引脚的上升沿中断参数gpio_num - GPIO引脚编号*/ void gpio_set_risingedge_interrupt(uint32_t gpio_num) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);/* GPIOREGS-SET_RIS_TRIG | (1 gpio_num) */CSL_GPIO_setRisingEdgeDetect(h_gpio, gpio_num); }/*功能清除指定GPIO引脚的上升沿中断参数gpio_num - GPIO引脚编号*/ void gpio_clear_risingedge_interrupt(uint32_t gpio_num) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);/* GPIOREGS-CLR_RIS_TRIG | (1 gpio_num) */CSL_GPIO_clearRisingEdgeDetect(h_gpio, gpio_num); }/*功能设置指定GPIO引脚的下降沿中断参数gpio_num - GPIO引脚编号*/ void gpio_set_fallingedge_interrupt(uint32_t gpio_num) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);/* GPIOREGS-SET_FAL_TRIG | (1 gpio_num) */CSL_GPIO_setFallingEdgeDetect(h_gpio, gpio_num); }/*功能清除指定GPIO引脚的下降沿中断参数gpio_num - GPIO引脚编号*/ void gpio_clear_fallingedge_interrupt(uint32_t gpio_num) {CSL_GpioHandle h_gpio;/* Open the CSL GPIO Module 0 */h_gpio CSL_GPIO_open(0);/* GPIOREGS-CLR_FAL_TRIG | (1 gpio_num) */CSL_GPIO_clearFallingEdgeDetect(h_gpio, gpio_num); }2.1.2 c66x_gpio.h #ifndef C66X_GPIO_H_ #define C66X_GPIO_H_#define GPIO_0 (0) #define GPIO_1 (1) #define GPIO_2 (2) #define GPIO_3 (3) #define GPIO_4 (4) #define GPIO_5 (5) #define GPIO_6 (6) #define GPIO_7 (7) #define GPIO_8 (8) #define GPIO_9 (9) #define GPIO_10 (10) #define GPIO_11 (11) #define GPIO_12 (12) #define GPIO_13 (13) #define GPIO_14 (14) #define GPIO_15 (15) #define GPIO_16 (16) #define GPIO_17 (17) #define GPIO_18 (18) #define GPIO_19 (19) #define GPIO_20 (20) #define GPIO_21 (21) #define GPIO_22 (22) #define GPIO_23 (23) #define GPIO_24 (24) #define GPIO_25 (25) #define GPIO_26 (26) #define GPIO_27 (27) #define GPIO_28 (28) #define GPIO_29 (29) #define GPIO_30 (30) #define GPIO_31 (31)#define GPIOBANKNUM (0)#define GPIO_LOW (0) #define GPIO_HIGH (1) #define INVALID_GPIO_NUMBER (2) #define INVALID_GPIO_DIRECTION (3) #define INVALID_GPIO_STATE (4)typedef enum _gpio_direction {GPIO_OUT 0, /// gpio output modeGPIO_IN /// gpio input mode } gpio_direction;/* Function declarations */ void gpio_set_direction(uint32_t gpio_num, gpio_direction direction); void gpio_set_databus_direction(gpio_direction direction); void gpio_set_output(uint32_t gpio_num); void gpio_clear_output(uint32_t gpio_num); uint8_t gpio_read_input(uint32_t gpio_num); void gpio_write_databus(uint8_t val); uint8_t gpio_read_databus(void); void gpio_enable_global_interrupt(void); void gpio_disable_global_interrupt(void); void gpio_set_risingedge_interrupt(uint32_t gpio_num); void gpio_clear_risingedge_interrupt(uint32_t gpio_num); void gpio_set_fallingedge_interrupt(uint32_t gpio_num); void gpio_set_fallingedge_interrupt(uint32_t gpio_num); void gpio_clear_fallingedge_interrupt(uint32_t gpio_num);#endif /* #ifndef C66X_GPIO_H_ */2.2 cmd文件 -heap 0x4000/* 16KB */ -stack 0x4000/* 16KB */MEMORY {/* Local L2, 0.5~1MB*/VECTORS: o 0x00800000 l 0x00000200 LL2_RW_DATA: o 0x00800200 l 0x0003FE00 /* Shared L2 1MB for C6657*/SL2: o 0x0C000000 l 0x00100000DDR3: o 0x80000000 l 0x40000000 /* 1GB DDR3 */EMIF16_DATA: o 0x70000000 l 0x10000000 /* EMIF16 memory space */ }SECTIONS {vecs VECTORS .text LL2_RW_DATA.cinit LL2_RW_DATA.const LL2_RW_DATA.switch LL2_RW_DATA.stack LL2_RW_DATAGROUP{.neardata.rodata.bss} LL2_RW_DATA.far:testBuf LL2_RW_DATA.far LL2_RW_DATA.fardata LL2_RW_DATA.cio LL2_RW_DATA.sysmem LL2_RW_DATA} 2.3 main.c 2.3.1 LED123亮灭 /* Compiler Header files */ #include stdint.h /* CSL Header file */ #include ti/csl/csl_chipAux.h /* Driver utilities include */ #include driver/c66x_gpio.h#define PIN_CONTROL_0 0x02620580 // GPIO控制寄存器基地址 #define C665X_USER_LED0 GPIO_23 // c665x user-led0, GPIO_23 #define C665X_USER_LED1 GPIO_22 // c665x user-led1, GPIO_22 #define C665X_USER_LED2 GPIO_19 // c665x user-led2, GPIO_19//基于CPU周期的延迟函数500000000500ms void cpu_delaycycles(uint32_t cycles) {uint32_t start_val;/* Start TCSL so its free running */CSL_chipWriteTSCL(0);start_val CSL_chipReadTSCL();while ((CSL_chipReadTSCL() - start_val) cycles);return; }int main(void) {/* Set pin as GPIO mode */*((uint32_t *) PIN_CONTROL_0) | ((1 C665X_USER_LED0)|(1 C665X_USER_LED1) |(1 C665X_USER_LED2));/* Set GPIO as output mode */gpio_set_direction(C665X_USER_LED0, GPIO_OUT);gpio_set_direction(C665X_USER_LED1, GPIO_OUT);gpio_set_direction(C665X_USER_LED2, GPIO_OUT);while (1) {/* Gpio output low level,turn off LED */gpio_set_output(C665X_USER_LED0);gpio_set_output(C665X_USER_LED1);gpio_set_output(C665X_USER_LED2);/* Keep the LED on for 500 ms */cpu_delaycycles(500000000);/* Gpio output high level,Turn on LED */gpio_clear_output(C665X_USER_LED0);gpio_clear_output(C665X_USER_LED1);gpio_clear_output(C665X_USER_LED2);/* Keep the LED off for 500 ms */cpu_delaycycles(500000000);} }2.3.2 KEY控制LED亮灭 #include stdio.h /* Compiler Header files */ #include stdint.h /* CSL Header file */ #include ti/csl/csl_chipAux.h #include ti/csl/src/intc/csl_intc.h/* Driver utilities include */ #include driver/c66x_gpio.h#define PIN_CONTROL_0 0x02620580 // GPIO控制寄存器基地址 #define LED1 GPIO_19 #define LED2 GPIO_22 #define LED3 GPIO_23 #define KEY2 GPIO_0//基于CPU周期的延迟函数100000000100ms void cpu_delaycycles(uint32_t cycles) {uint32_t start_val;/* Start TCSL so its free running */CSL_chipWriteTSCL(0);start_val CSL_chipReadTSCL();while ((CSL_chipReadTSCL() - start_val) cycles);return; }int main(void) {/* Set pin as GPIO mode */*((uint32_t *) PIN_CONTROL_0) | ((1 LED1)|(1 LED2) |(1 KEY2 ) |(1 LED3));/* Set GPIO as output mode */gpio_set_direction(LED1, GPIO_OUT);gpio_set_direction(LED2, GPIO_OUT);gpio_set_direction(LED3, GPIO_OUT);gpio_set_direction(KEY2, GPIO_IN);while (1) {if (gpio_read_input(KEY2) GPIO_LOW) //检测到按键按下{cpu_delaycycles(100000000); //延时消抖100msif (gpio_read_input(KEY2) GPIO_LOW)//按键真的被按下了{if (gpio_read_input(LED3) GPIO_LOW) //LED3翻转gpio_set_output(LED3);//GPIO23设置为高电平LED3熄灭elsegpio_clear_output(LED3);//GPIO23设置为低电平LED3点亮}while (gpio_read_input(KEY2) GPIO_LOW); //阻塞直到按键被松开}} }
http://www.pierceye.com/news/612053/

相关文章:

  • 贵州企业展示型网站建设网站建设需要摊销吗
  • 网站建设视频教程广州哪里有正规的技能培训
  • 网站后台iis配置小程序模板消息推送规则
  • 桥梁建设工程网站残疾人网站服务平台
  • 网站开发语言包括哪些潍坊公司注册
  • 平顶山网站制作哪家公司好阿里巴巴网站建设改图片
  • 网站设计培训学校有哪些wordpress主题什么值得买
  • 如皋建设工程局网站静态网站做淘宝客
  • 温州网站建设案例做网站卖衣服物流包年多少钱
  • 响应 网站建设招聘室内设计
  • 网站建设宣传册内容南京个人网站建设
  • 毕业设计可以做哪些网站遵义原创网站
  • 国外服装设计网站app网站建设需要什么
  • 网站建设a云世家宋南南网站建设合集
  • 可以网上做单的网站创建全国文明城市的宗旨是什么
  • 北京诚信建设网站成都蓉城最新消息
  • 上市公司网站建设分析评价网页制作的视频教程
  • 网站营运费网站关键字优化工具
  • 上海企业网站建站中山一站式营销推广平台
  • 想做网站策划怎么做苏州seo关键词排名
  • 中小型企业电子商务网站建设seo优化推广公司
  • 网站开发类型什么意思网页制作与设计千年之恋代码
  • 怎么做公司的网站免费网站建设专业的公司
  • 适合这手机浏览器主页的网站wordpress本地上传服务器
  • 济南百度网站开发寮步镇做网站
  • 营销类型的公司网站专注高密做网站哪家好
  • 公司网站建设找谁做网络渠道
  • 网站建设公司 校园网站html5商城网站
  • 自学it做网站厦门网站推广¥做下拉去118cr
  • 汕头市做网站优化国内时事新闻