This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C123GH6PM:HC06蓝牙模块

Guru**** 2326910 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/589266/ccs-tm4c123gh6pm-hc06-bluetooth-module

器件型号:TM4C123GH6PM

工具/软件:Code Composer Studio

大家好、

我需要帮助以了解如何使蓝牙模块 HC06与我的 Tiva 一起工作。 编译器无错误。 但是、它没有提供我搜索的输出。 PF1电压为零。 请帮我解决这个问题。

我的代码:

#include
#include
//#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "driverlib/debug.h"
#include "driverlib/fpu.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"

#define LEDPort GPIO_PORTF_BASE

//功能原型
void RedLedHigh();
void RedLedLow();

//
//
//驱动程序库遇到错误时调用的错误例程。
//
//
#ifdef 调试
无效
_error__(char * pcFilename、uint32_t ui32Line)


#endif

//
//
// UART 中断处理程序。
//
//
空 UARTIntHandler (空)

uint32_t ui32Status;

//
//获取中断状态。
//
ui32Status = ROM_UARTIntStatus (UART3_base、true);

//
//清除已发出的中断。
//
ROM_UARTIntClear (UART3_base、ui32Status);

//
//在接收 FIFO 中有字符时循环。
//
while (ROM_UARTCharsAvail (UART3_base))

char c=ROM_UARTCharGetNonBlocking (UART3_base);

开关(c)

案例"A":
RedLedHigh();
中断;
情况"b":
RedLedLow();
中断;



空 RedLedHigh (空)

GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_1、0xFF);

空 RedLedLow (空)

GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_1、0);

//
//
//向 UART 发送字符串。
//
//
无效
UARTSend (const uint8_t * pui8缓冲器、uint32_t ui32计数)

//
//循环,同时有更多字符要发送。
//
while (ui32Count---)

//
//将下一个字符写入 UART。
//
ROM_UARTCharPutNonBlocking (UART3_base、* pui8Buffer++);

//
//
//此示例演示了如何将一串数据发送到 UART。
//
//
int main (空)

//将时钟设置为直接从晶体运行。
//
ROM_SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHz);

//
//启用用于板载 LED 的 GPIO 端口。
//
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);

//
//为 LED 启用 GPIO 引脚(PF2)。
//
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_1_GPIO_PIN_2|GPIO_PIN_3);


//启用此示例使用的外设。
//
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_UART3);
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);
//
//启用处理器中断。
//

ROM_IntMasterEnable();


//
//启用 UART 中断。
//
ROM_IntEnable (INT_UART3);
ROM_UARTIntEnable (UART3_base、UART_INT_RX | UART_INT_RT);

GPIOPinConfigure (GPIO_PC6_U3RX);
GPIOPinConfigure (GPIO_PC7_U3TX);
ROM_GPIOPinTypeUART (GPIO_PORTC_BASE、GPIO_PIN_6 | GPIO_PIN_7);

//
//将 UART 配置为115、200、8-N-1操作。
//
ROM_UARTConfigSetExpClk (UART3_base、ROM_SysCtlClockGet ()、9600、
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));

//
//启用 UART 中断。
//
ROM_IntEnable (INT_UART3);
ROM_UARTIntEnable (UART3_base、UART_INT_RX | UART_INT_RT);

while (1)


  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Hussain:

    您在接收数据时是否收到中断? 预期接收到的数据是什么? 仅当您接收到字符"A"且引脚始终处于关闭状态时、才会将 PF1设置为高电平。 如果您收到的字符不是"A"、PF1将不会打开、该怎么办。 如果您接收到两个字符、如"ab"、它将短暂打开 PF1、然后在从 FIFO 读取"b"后关闭。 您能否使用范围来捕获 PF1上的活动?