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

大邑县建设银行网站最好看免费观看高清视频了

大邑县建设银行网站,最好看免费观看高清视频了,建设工程施工合同司法解释2022,3个典型网站建设公司题目#xff1a;通过操作Cortex-A7核#xff0c;串口输入相应的命令#xff0c;控制LED灯进行工作---上传CSDN 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输入led2off,开饭led…题目通过操作Cortex-A7核串口输入相应的命令控制LED灯进行工作---上传CSDN 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输入led2off,开饭led2灯熄灭 5.例如在串口输入led3on,开饭led3灯点亮 6.例如在串口输入led3off,开饭led3灯熄灭编程要求 1结构体封装 typedef struct{ char* cmd_arr; //命令行字符串 gpio_t* gpiox;//GPIO组号 unsigned int pin; //引脚编号 status_t status; //LED灯状态 void(*gpio_write_pin)(gpio_t* gpiox,unsigned int pin,status_t status); }cmd_t; 2结构体数组 方式1cmd_t cmd_arr[6] {{led1off,GPIOE,GPIO_PIN_10,GPIO_RESET_T},{},}; cmd_t cmd_arr[6] { [0] { .cmd_arr led1off, .gpiox GPIOE, .pin GPIO_PIN_10, .status GPIO_RESET_T, .gpio_write_pin hal_gpio_write, }, [1] {}, [2] {}, }; 3在串口输入一个字符串 1在串口输入一个字符串需要定义一个变量接收串口接收到的字符串 char* string uart_get_string(); 2串口中输入的字符串与结构体中每个元素中的cmd_arr变量进行比较 3如果比较成功代表查到输入的字符串 思考函数实现如何编写cmd_t* find_command(const char* str) { //串口中输入的字符串与结构体中每个元素中的cmd_arr变量进行比较 //遍历比较自己编写strcmp比较的函数 return 0;//失败返回0 } 4思考main.c函数编写 cmd_t* cmd_arr; char* string uart_get_string(); cmd_arr find_command(string); if(cmd_arr 0){ 查找失败 }else { cmd_arr-gpio_write_pin(cmd_arr-gpiox,...........)}代码mix.h#ifndef __MIX_H__ #define __MIX_H__ #include stm32mp1xx_rcc.h #include stm32mp1xx_gpio.h #include stm32mp1xx_uart.h #include gpio.h typedef struct { char* cmd_arr; gpio_t* gpiox; unsigned int pin; gpio_status_t status; void(*gpio_write_pin)(gpio_t* gpiox,unsigned int pin,gpio_status_t status); }cmd_t; void hal_mix_rcc(); void hal_mix_gpio(); void hal_mix_uart(); void func(); void hal_gpio_write(gpio_t* gpiox,unsigned int pin,gpio_status_t status); cmd_t* find_command(const char* str); char *get_string(); #endif mix.c#include mix.hextern void delay_ms(int ms); cmd_t cmd_arr[6] {[0]{.cmd_arrled1on,.gpioxGPIOE,.pinGPIO_PIN_10,.statusGPIO_SET_T,.gpio_write_pinhal_gpio_write,},[1]{.cmd_arrled1off,.gpioxGPIOE,.pinGPIO_PIN_10,.statusGPIO_RESET_T,.gpio_write_pinhal_gpio_write,},[2]{.cmd_arrled2on,.gpioxGPIOF,.pinGPIO_PIN_10,.statusGPIO_SET_T,.gpio_write_pinhal_gpio_write,},[3]{.cmd_arrled2off,.gpioxGPIOF,.pinGPIO_PIN_10,.statusGPIO_RESET_T,.gpio_write_pinhal_gpio_write,},[4]{.cmd_arrled3on,.gpioxGPIOE,.pinGPIO_PIN_8,.statusGPIO_SET_T,.gpio_write_pinhal_gpio_write,},[5]{.cmd_arrled3off,.gpioxGPIOE,.pinGPIO_PIN_8,.statusGPIO_RESET_T,.gpio_write_pinhal_gpio_write,} };void hal_mix_rcc() {RCC-MP_AHB4ENSETR|(0x11);RCC-MP_AHB4ENSETR|(0x14);RCC-MP_AHB4ENSETR|(0x15);RCC-MP_AHB4ENSETR|(0x16);RCC-MP_APB1LPENSETR|(0x116); } void hal_mix_gpio() {GPIOB-MODER(~(0x34));GPIOB-MODER|(0x24);GPIOG-MODER(~(0x322));GPIOG-MODER|(0x222);GPIOB-AFRL(~(0xf8));GPIOB-AFRL|(0x88);GPIOG-AFRH(~(0xf12));GPIOG-AFRH|(0x612);GPIOE-MODER(~(0x320));GPIOE-MODER|(0x120);GPIOF-MODER(~(0x320));GPIOF-MODER|(0x120);GPIOE-MODER(~(0x316));GPIOE-MODER|(0x116);GPIOE-OTYPER(~(0x110));GPIOF-OTYPER(~(0x110));GPIOE-OTYPER(~(0x18));GPIOE-OSPEEDR(~(0x320));GPIOF-OSPEEDR(~(0x320));GPIOE-OSPEEDR(~(0x316));GPIOE-PUPDR(~(0x320));GPIOF-PUPDR(~(0x320));GPIOE-PUPDR(~(0x316)); } void hal_led_on(int num) {switch(num){case 1:GPIOE-ODR|(0x110);break;case 2:GPIOF-ODR|(0x110);break;case 3:GPIOE-ODR|(0x18);break;} } void hal_led_off(int num) {switch(num) { case 1: GPIOE-ODR(~(0x110));break; case 2: GPIOF-ODR(~(0x110));break; case 3: GPIOE-ODR(~(0x18)); break; } } void hal_mix_uart() {delay_ms(20);USART4-CR1(~(0x10));USART4-CR1(~(0x128));USART4-CR1(~(0x112));USART4-CR1(~(0x115));USART4-CR1(~(0x110));USART4-CR2(~(0x312));USART4-PRESC(~(0xf0));USART4-BRR0x22B;USART4-CR1|(0x13);USART4-CR1|(0x12);USART4-CR1|(0x10); } void put_char(const char ch) {while(!(USART4-ISR(0x17)));USART4-TDRch;while(!(USART4-ISR(0x16))); } void put_string(const char *string) {int i0;char ch;while(1){chstring[i];put_char(ch);if(ch\0){break;}i;} } char get_char() {char ch;while(!(USART4-ISR(0x15)));chUSART4-RDR; return ch; } char buffer[20]; char *get_string() {for(int i0;i19;i){buffer[i]get_char();put_char(buffer[i]);if(buffer[i]\r){put_char(\n);buffer[i]\0;break;}}return buffer; } int my_strcmp(const char *a,char *b) {int i0;int j0;while(*(ai)!\0*(bj)!\0*(ai)*(bj)){i;j;}return *(ai)-*(bj); } void buffer_clear() {for(int i0;i20;i){buffer[i]0;} } void func() {get_string();if(my_strcmp(buffer,led1on)0){hal_led_on(1);}else if(my_strcmp(buffer,led1off)0){hal_led_off(1);}else if(my_strcmp(buffer,led2on)0){hal_led_on(2);}else if(my_strcmp(buffer,led2off)0){hal_led_off(2);}else if(my_strcmp(buffer,led3on)0){hal_led_on(3);}else if(my_strcmp(buffer,led3off)0){hal_led_off(3);} } void hal_gpio_write(gpio_t* gpiox,unsigned int pin,gpio_status_t status) {if(statusGPIO_SET_T){gpiox-ODR|(0x1pin);}else{gpiox-ODR(~(0x1pin));} } cmd_t* find_command(const char* str) {//串口中输入的字符串与结构体中每个元素中的cmd_arr变量进行比较//遍历比较自己编写strcmp比较的函数 for(int i0;i6;i){if(my_strcmp(str,cmd_arr[i].cmd_arr)0){return cmd_arr[i];}}return 0;//失败返回0 } main.c #include mix.hextern void printf(const char *fmt, ...);void delay_ms(int ms){int i,j;for(i 0; i ms;i)for (j 0; j 1800; j);}int main(){hal_mix_rcc(); hal_mix_gpio(); hal_mix_uart(); cmd_t* cmd_arr1;while(1){char* string get_string();cmd_arr1 find_command(string);if(cmd_arr1 0){ printf(find warning\n); }else{cmd_arr1-gpio_write_pin(cmd_arr1-gpiox,\cmd_arr1-pin,\cmd_arr1-status); }}return 0;}运行结果
http://www.w-s-a.com/news/289908/

相关文章:

  • 网站建设预算计算方法什么是网络营销战略?网络营销战略有哪些基本类型
  • 无锡做网站公司多少钱网站备案方法
  • 建设网站最强做网站哪一家公司好
  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发
  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到
  • 做网站需要域名网站建设诚信服务
  • 做物品租赁网站网站建设的完整流程
  • 响应式企业网站开发所用的平台西安知名网站推广
  • 高端响应式网站建设wordpress 全屏主题
  • 国内工程机械行业网站建设现状ui是什么意思
  • 成都网站开发哪家公司好出售家教网站模板
  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持
  • 校园网站怎么建软文文案范文
  • 中国建设官方网站如何创建自己的软件
  • 来宾住房与城乡建设网站天津西青区怎么样