完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
选择uart是因为L21上没有显示屏幕啊,想想那L22还是有优势的嘛。例程中有一个uart quick start,感觉L21上的例程都比较简单明了,非常有指导价值。
首先是初始化, //! [setup_change_config] config_usart.baudrate = 9600; config_usart.mux_setting = EDBG_CDC_SERCOM_MUX_SETTING; config_usart.pinmux_pad0 = EDBG_CDC_SERCOM_PINMUX_PAD0; config_usart.pinmux_pad1 = EDBG_CDC_SERCOM_PINMUX_PAD1; config_usart.pinmux_pad2 = EDBG_CDC_SERCOM_PINMUX_PAD2; config_usart.pinmux_pad3 = EDBG_CDC_SERCOM_PINMUX_PAD3; //! [setup_change_config] 从代码中很清晰的看到波特率是9600,然后从EDBG口输出。 然后是初始化和使能 //! [setup_set_config] while (usart_init(&usart_instance, EDBG_CDC_MODULE, &config_usart) != STATUS_OK) { } usart_enable(&usart_instance); 主函数就更加简单,用到了两个函数 usart_write_buffer_wait(); usart_read_wait(); 因为先打开的是poll方式的,所以函数中都带有wait,也就是说等到处理完毕了,才退出函数执行。主要功能就是收到什么,再回显一下。 file:///E:/Mywiz/temp/35f44d91-6da7-49cb-bbb4-f84d859f068b.png 然后我们和上次的结合一下,利用uart来控制板上的灯。收到0表示灭,收到1表示开。这时首先要把LED对应的管脚配置成输出。 port_get_config_defaults(&pin); pin.direction = PORT_PIN_DIR_OUTPUT; port_pin_set_config(LED0_PIN, &pin); 然后设置成开灯 port_pin_set_output_level(LED0_PIN,LED_0_ACTIVE); 在收到串口指令后做判断: if (temp=='0') { port_pin_set_output_level(LED_0_PIN,LED_0_INACTIVE); usart_write_buffer_wait(&usart_instance, ledoff, sizeof(ledoff)); } if (temp=='1') { port_pin_set_output_level(LED_0_PIN,LED_0_ACTIVE); usart_write_buffer_wait(&usart_instance, ledon, sizeof(ledon)); } 下面看效果: file:///E:/Mywiz/temp/1ab78157-3bed-41be-86f4-9c05af4ea319.png 这里有个很奇怪的地方,接收的temp是2个byte的uint16_t,而实际发送的只是char啊?而且改成uint8就收不到字符了,着实奇怪。 |
|
相关推荐
|
|
不一定是收不到字符,有可能收到的字符是不可见字符,建议勾选HEX显示看看。
|
|
|
|
|
|
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
776 浏览 0 评论
2265 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2124 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
1682 浏览 0 评论
2786 浏览 3 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
5505 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 13:55 , Processed in 0.477109 second(s), Total 35, Slave 27 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号