当前位置:首页 > 单片机 > 单片机
[导读] 项目中需要使用CPLD完成一部分算法设计,参数由AVR给出,因此需要完成AVR和CPLD的通信。因此写了一个测试程序。CPLD挂在AVR的数据和地址总线上,AVR使用ATmega128,在CPLD中设置几个寄存器,通过AVR读写

项目中需要使用CPLD完成一部分算法设计,参数由AVR给出,因此需要完成AVR和CPLD的通信。因此写了一个测试程序。CPLD挂在AVR的数据和地址总线上,AVR使用ATmega128,在CPLD中设置几个寄存器,通过AVR读写寄存器来实现两者之间的通信。

Mega128的外部存储空间从0X1100开始,因此只需要配置相应的寄存器后读取或者写入相应的地址就可以,程序比较简单,注释中都有说明,仅供参考。


  1. /*******************************************************************

  2. 名称:mian.c

  3. 功能:测试AVR与CPLD的通信,将数据写入CPLD中配置的寄存器,然后读出,

  4. 通过串口输出做比较

  5. 作者:emouse

  6. 时间:2011.1.4

  7. 版本:1.0

  8. 注意:无

  9. ********************************************************************/#include"avr/io.h"

  10. #include"avr/interrupt.h"

  11. #include"util/delay.h"

  12. #defineSetBit(Port,N)(Port|=(1<

  13. #defineClrBit(Port,N)(Port&=~(1<

  14. #defineReverBit(Port,N)(Port^=(1<

  15. #defineGetBit(Pin,N)((Pin>>N)&0x01)//读取IO某一位

  16. unsignedchardata;

  17. voidXRAM_example(void)

  18. {

  19. unsignedchar*q=0x1100;//寄存器1

  20. unsignedchar*m=0x1101;//寄存器2

  21. unsignedchar*p=0x1102;//寄存器3

  22. PORTD=0XFF;

  23. DDRD=0XFF;

  24. DDRC=0xFF;//默认情况下端口C用做高地址,可以每只寄存器把端口C释放

  25. PORTC=0x00;

  26. *q=0xCC;//向寄存器1中写入数据,CPLD中自动将寄存器1的值付给寄存器3

  27. data=*p;//独处寄存器3中的值,在循环中用串口输出

  28. }

  29. voidUSART0_Init(void)

  30. {

  31. UCSR0A=0x20;//波特率不加倍,单机通信模式

  32. UCSR0B=0x18;//中断不使能,允许发送和接收

  33. UCSR0C=0x06;//异步模式,无校验,8位数据,1位停止位

  34. UBRR0H=0x00;

  35. UBRR0L=51;//9600波特率晶振8M

  36. }

  37. voidUSART0_SendByte(unsignedchardata)

  38. {

  39. while(!(UCSR0A&(1<

  40. UDR0=data;//发送数据

  41. }

  42. intmain(void)

  43. {

  44. unsignedchari=0;

  45. USART0_Init();//初始化USART0接口

  46. MCUCR=0xC0;//使能外部SRAM

  47. XMCRA=0x00;

  48. DDRA=0XFF;

  49. PORTA=0XFF;

  50. DDRE=0xff;

  51. DDRD=0xff;

  52. PORTD=0x00;//使能CSA16A17=11

  53. USART0_SendByte(0x88);

  54. while(1)

  55. {

  56. ReverBit(PORTA,0);

  57. XRAM_example();

  58. _delay_ms(500);

  59. USART0_SendByte(data);

  60. }

  61. }



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭