stm32-STM32位绑定失败

问题描述

STM32位绑定失败

如题,当我绑定之后,想要PA的第8脚输出高电平,但是不成功。求解答。。。附上代码,请找错误。。。在线等、、、、
#include

#define GPIOA_ODR_A (GPIOA_BASE+0X0C)

#define bitband(addr,n) *((volatile unsigned long *)(addr & 0xf0000000 +0x2000000 + (addr & 0x0fffffff) << 5 + n <<2))
#define PAO(n) bitband(GPIOA_ODR_A,n)

int main(void)

{
RCC->CR |= 0X00010000; //HSE打开
while(!(RCC->CR & 0X00020000)); //判断HSE稳定
FLASH->ACR|=0x32; //FLASH 2个延时周期
RCC->CFGR |= 0X001D0000; //配置PLL 选择HES,9倍频
RCC->CR |= 0X01000000; //打开PLL
while(!(RCC->CR & 0X02000000)); //判断PLL稳定
RCC->CFGR |= 0X00000002; //配置系统时钟为PLL
RCC->APB2ENR |= 0X000001FC; //使能GPIOA~G时钟
GPIOA->CRL=0X11111111;
while(1)

{
GPIOA->ODR = 0X0F;
PAO(8) = 1;
}
}
其中GPIOA->ODR = 0X0F;正常,就是下面的PAO(8) = 1;不显示。

解决方案

http://zhidao.baidu.com/link?url=zBdbFD8KeEZFXLrC4Hs3jhYj7-oPzQjfd9lsglFDomAWIztFGknCehBKeWfT-yTOSQ7ggHcKS5hIdarHa6YAVBScEDr7xhZe4950TPMRBgC

解决方案二:

//IO口操作宏定义

#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))

解决方案三:

//IO口操作宏定义

#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))

时间: 2024-11-10 00:10:59

stm32-STM32位绑定失败的相关文章

指针-bind绑定失败,错误10049,不知道怎么改了

问题描述 bind绑定失败,错误10049,不知道怎么改了 int main_s6(){ // 创建套节字 DWORD dwThread_ms; HANDLE h_thread; char ip_temp[128] = {0}; char port_temp_i[32] = {0};int port_temp_a = 0;printf(""Please input the ip address Defaults is ::1n->"");getchar();g

c# 反射-Delegate.CreateDelegat 抛出异常:方法绑定失败

问题描述 Delegate.CreateDelegat 抛出异常:方法绑定失败 异常: System.ArgumentException:绑定到目标方法时出错PS:MenuItem_Clicked 方法通过反射方式已经可以调用 代码: 绑定到Delegate string methodName = "MenuItem_Clicked"; MethodInfo menuItemClicked = funType.GetMethod(methodName); if (menuItemCli

要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!En

问题描述 "/"应用程序中的服务器错误.--------------------------------------------------------------------------------未能加载文件或程序集"SC"或它的某一个依赖项.生成此程序集的运行时比当前加载的运行时新,无法加载此程序集.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.BadImag

子表与DataGridView控件绑定失败

问题描述 privateBindingManagerBasebm1=null;privatevoidDataScanInForm6_Load(objectsender,EventArgse){stringsqlString1="select*from客户";stringsqlString2="select*from订单";string[]sqlStrings=newstring[]{sqlString1,sqlString2};string[]tableNames=

要启用程序集绑定失败日志记录,请将注册表值 [HKLM/Software/Microsoft/Fusion!EnableLog] (DWORD)设置为 1。

问题描述 手贱,把server2008R2的角色Web服务器(IIS)删了,然后重新添加了之后,在IIS部署网站就爆错.死活配置不好,根据提示说要将[HKLM/Software/Microsoft/Fusion!EnableLog](DWORD)设置为1,打开注册表找半天,没找到Fusion,找到了之后又设不了值.结果咧,是应用程序池的问题.把iis应用程序池--高级设置--启用32位应用程序:true把iis应用程序池--高级设置--进程模型--标识:LocalSystem.网站打开正常. 解

stm32之GPIO

stm32有5组GPIO口,GPIOA GPIOB GPIOC GPIOD GPIOE 每个GPIO端口有: 2个配置寄存器GPIOx_CRL, GPIOx_CRH(32位): 2个数据寄存器GPIOx_IDR, GPIOx_ODR(32位): 1个置位/复位寄存器GPIOx_BSRR(32位): 1个复位寄存器GPIOx_BRR(16位): 1个锁定寄存器GPIOx_LCKR(32位): 输入模式: -输入浮空:顾名思义也就是输入什么信号才是什么信号,对于浮空输入要保证有明确的输入信号. ─

udp-UDP绑定本地端口和IP,用sendto向指定端口发广播数据失败

问题描述 UDP绑定本地端口和IP,用sendto向指定端口发广播数据失败 MFC下,上位机采用UDP协议,绑定本地端口60000,向目标端口50000发送广播数据,然后单片机应答.但是上位机调用sendto函数发送失败! 解决方案 代码如下: int ret = -1; CString str; char buf[10] = {0,1,2,3,4,5,6,7,8,9}; /* 加载套接字库 */ if (!AfxSocketInit()) MessageBox("加载套接字库失败!"

在IBM DB2数据库中进行包的重绑定

重绑定是对先前已经与数据库进行了绑定的应用程序重新生成包(Package)的过程.当应用程序对应的包,被标记为不合法(Invalid)或不可操作(Inoperative)的时候,用户必须对它进行重绑定.有的情况下,包虽然依然合法,但是用户为了提高程序的运行性能,如利用新的索引,或者在运行完RUNSTATS命令后利用新的系统优化数据,用户也会进行包的重绑定. 如果应用程序的包依赖于某些数据对象,如表,触发器等.当这些数据对象被删除时,包将会被设置为不合法(Invalid).不合法的包在下一次被执行

jquery绑定事件不生效的解决方法

 jquery绑定click事件,怎么都不生效,这个问题很多朋友都有遇到过,下面为大家解决一下,需要的朋友可以参考下 今天在开发前台页面时发现jquery绑定click事件,怎么都不生效.代码如下:  1.html:<input id="ceshisub" type="button" value="单击事件" >  2.html引用的test.js中的方法函数:   代码如下: $("#ceshisub").bin