OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【CGZ127】自制固件之串口调试

共7条 1/1 1 跳转至

【CGZ127】自制固件之串口调试

工程师
2015-10-24 20:42:21    评分

1:硬件连接&Flash重置&IO调试

2:USART发送调试(9600bps,8N1)


kai大的固件着实看着太费劲(主要是懒),决定自己撸一把,写一个固件,正好也学学带USB的MEGA是怎么用的,以后用着也方便

先来看看原理图


右上角ISP,可以直接用AVR ISP下载(如果SPIEN被编程了的话),先来试试他


ISP接线图,没什么说的,用杜邦线连上就行


来打开PROGISP(也可以用avr fighter,反正win10不兼容),先读个熔丝位,见证奇迹的时刻


看来运气比较好,SPIEN被编程上了,截个图保存,防止配置错了,熔丝位的具体含义请各位看官自行

度娘吧,各种详细解释都有,也可以直接翻手册,400来页鸟语。

好了,再回头看刚才的原理图左下角MCU,单独给CAPS LOCK留了个灯控IO,就拿这个下手,先试试

配置IO口,也熟悉下ATMEL STUDIO 7.0 , 比之前常用的AVR STUDIO 4.0变了不只一点,虽然老IDE

也很好用,还是要与时俱进嘛


新界面,基于VS,界面华丽了很多,先来个测试程序,让大写灯亮,让PB2低电平就OK(看原理图去)



没多少技术含量的程序,效果如上图。

OK,测试IDE ISP都没问题,下面来看下键盘的工作原理

首先,键盘是HID设备,具体是什么,点这给脑袋充充电,中文版的在这里

上面那个大概看看就行了,之后具体再说。按照之前的经验,键盘和电脑通信的肯定

是数,于是机智的我度娘了一下“ 键盘 键值 ” , 然后搜到了好多相关信息,看样子

跟我想的一样,这里有键盘键值表OK,知道了基本原理,现在理一理要做的,

首先要确定键盘配列,这里借用KLE来做,右上角能down配列图片,

然后要做键盘扫描,确定哪个按键被按下了,

其次要调通MCU的USB功能,

最后联调,让键盘飞︿( ̄︶ ̄)︿

然后再调调I2C,借用大神的I2C代码把keng板用起来,这个之后再说~~

先到这,继续撸代码去,,,,


附点亮第一盏LED灯的工程文件,请用AS6.0以上打开,也可以自行用AVRSTUDIO 4.0把C文件拖里,改个头文件就能用

GH60_Rev.QE.rar






专家
2015-10-24 20:51:36    评分
2楼
强帖留名

工程师
2015-10-25 18:22:48    评分
3楼

串口调试部分

这气温跟过山车一样,,,感冒真难受

本来想把键盘扫描写一写的,奈何头太疼,就搞了下串口,

键盘和电脑通信正常是用HID协议的,为了调试方便,把串口搞出来,

这样在做键盘扫描调试的时候比较方便调试。


/*
 * GH60_Rev.QE.c
 *
 * Created: 2015/10/24 16:52:47
 * Author : cheng
 */ 

#include <avr/io.h>

unsigned char table[]={"0x00"};

void USART_Init(void)
{
	UBRR1  = 103 ;
	UCSR1B = ( 1 << RXEN1 ) | ( 1 << TXEN1  ) ;
	UCSR1C = ( 0 << USBS1 ) | ( 3 << UCSZ10 ) ;
}

int main(void)
{
    USART_Init();
	DDRB  |= 0x04 ;
	PORTB |= 0x00 ;
    while (1)
    {
		while( !(UCSR1A & (1<<UDRE1)) ) ;
		
			UDR1 = table[0] ;
		
    }
}

代码如上,没什么好说的,寄存器的配置什么的在芯片手册里都有,虽然是400多页鸟语,至少比
STM32动辄2、3K页强多了
为了方便大家看,把这部分工程和芯片的datasheet还有手册都传上来,有兴趣的可以自己研究研究。

M32U4_DATASHEET.rar


M32U4_USART.rar



 






工程师
2015-10-26 15:07:20    评分
4楼
看起来叼叼的

高工
2016-02-04 12:24:15    评分
5楼
做的不错

菜鸟
2016-02-15 12:24:35    评分
6楼

后续呢?


看样子不会有后续了。。。。


专家
2016-04-04 21:38:03    评分
7楼
学习大神的经典。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]