蓝桥杯 算法提高 ADV-112 c++_ch02_01

算法提高 c++_ch02_01
时间限制:1.0s 内存限制:512.0MB
  编写一个程序,利用强制类型转换打印元音字母大小写10种形式的ASCII码。
  输出的顺序为:大写的字母A,E,I,O,U的ASCII码,小写的字母a,e,i,o,u的ASCII码。所有的ASCII码都用十进制表示.输出10行,每行一个ASCII码,最后输出一个空行。

分析:这道题没什么需要计算的,只是输出ASCLL码。既然如此,直接强制转换为int类型即可,代码如下:

#include <iostream>
using namespace std;

int main()
{
	cout << (int)'A' << endl;
	cout << (int)'E' << endl;
	cout << (int)'I' << endl;
	cout << (int)'O' << endl;
	cout << (int)'U' << endl;
	cout << (int)'a' << endl;
	cout << (int)'e' << endl;
	cout << (int)'i' << endl;
	cout << (int)'o' << endl;
	cout << (int)'u' << endl;
	
	return 0;
}
下列代是ST17H66的简易蓝牙通信代 我现在要求你帮我写一下ST17H65的蓝牙收发 要求能连上手机蓝牙 并且告诉我怎么配置keil 以及选哪个芯片和库 /************************************************************************************************** ******* **************************************************************************************************/ #include "bus_dev.h" #include "gpio.h" #include "clock.h" #include "timer.h" #include "jump_function.h" #include "pwrmgr.h" #include "mcu.h" #include "gpio.h" #include "log.h" #include "rf_phy_driver.h" #include "flash.h" #include "version.h" #include "watchdog.h" #include "fs.h" #define DEFAULT_UART_BAUD 115200 /********************************************************************* LOCAL FUNCTION PROTOTYPES */ /********************************************************************* EXTERNAL FUNCTIONS */ extern void init_config(void); extern int app_main(void); extern void hal_rom_boot_init(void); /********************************************************************* CONNECTION CONTEXT RELATE DEFINITION */ #define BLE_MAX_ALLOW_CONNECTION 1 #define BLE_MAX_ALLOW_PKT_PER_EVENT_TX 3 #define BLE_MAX_ALLOW_PKT_PER_EVENT_RX 3 #define BLE_PKT_VERSION BLE_PKT_VERSION_4_0 ///BLE_PKT_VERSION_5_1 //BLE_PKT_VERSION_5_1 //BLE_PKT_VERSION_5_1 /* BLE_MAX_ALLOW_PER_CONNECTION { ... struct ll_pkt_desc *tx_conn_desc[MAX_LL_BUF_LEN]; // new Tx data buffer struct ll_pkt_desc *rx_conn_desc[MAX_LL_BUF_LEN]; struct ll_pkt_desc *tx_not_ack_pkt; struct ll_pkt_desc *tx_ntrm_pkts[MAX_LL_BUF_LEN]; ... } tx_conn_desc[] + tx_ntrm_pkts[] --> BLE_MAX_ALLOW_PKT_PER_EVENT_TX * BLE_PKT_BUF_SIZE*2 rx_conn_desc[] --> BLE_MAX_ALLOW_PKT_PER_EVENT_RX * BLE_PKT_BUF_SIZE tx_not_ack_pkt --> 1*BLE_PKT_BUF_SIZE */ #define BLE_PKT_BUF_SIZE (((BLE_PKT_VERSION == BLE_PKT_VERSION_5_1) ? 1 : 0) * BLE_PKT51_LEN \ + ((BLE_PKT_VERSION == BLE_PKT_VERSION_4_0) ? 1 : 0) * BLE_PKT40_LEN \ + (sizeof(struct ll_pkt_desc) - 2)) #define BLE_MAX_ALLOW_PER_CONNECTION ( (BLE_MAX_ALLOW_PKT_PER_EVENT_TX * BLE_PKT_BUF_SIZE*2) \ +(BLE_MAX_ALLOW_PKT_PER_EVENT_RX * BLE_PKT_BUF_SIZE) \ + BLE_PKT_BUF_SIZE ) #define BLE_CONN_BUF_SIZE (BLE_MAX_ALLOW_CONNECTION * BLE_MAX_ALLOW_PER_CONNECTION) ALIGN4_U8 g_pConnectionBuffer[BLE_CONN_BUF_SIZE]; llConnState_t pConnContext[BLE_MAX_ALLOW_CONNECTION]; /********************************************************************* CTE IQ SAMPLE BUF config */ //#define BLE_SUPPORT_CTE_IQ_SAMPLE TRUE #ifdef BLE_SUPPORT_CTE_IQ_SAMPLE uint16 g_llCteSampleI[LL_CTE_MAX_SUPP_LEN * LL_CTE_SUPP_LEN_UNIT]; uint16 g_llCteSampleQ[LL_CTE_MAX_SUPP_LEN * LL_CTE_SUPP_LEN_UNIT]; #endif /********************************************************************* OSAL LARGE HEAP CONFIG */ #define LARGE_HEAP_SIZE (4*1024) ALIGN4_U8 g_largeHeap[LARGE_HEAP_SIZE]; /********************************************************************* GLOBAL VARIABLES */ volatile uint8 g_clk32K_config; volatile sysclk_t g_spif_clk_config; /********************************************************************* EXTERNAL VARIABLES */ extern uint32_t __initial_sp; static void hal_low_power_io_init(void) { //========= pull all io to gnd by default ioinit_cfg_t ioInit[]= { {GPIO_P02, GPIO_FLOATING }, {GPIO_P03, GPIO_FLOATING }, {GPIO_P07, GPIO_FLOATING }, {GPIO_P09, GPIO_PULL_UP }, {GPIO_P10, GPIO_PULL_UP }, {GPIO_P11, GPIO_FLOATING }, {GPIO_P14, GPIO_FLOATING }, {GPIO_P15, GPIO_FLOATING }, {GPIO_P18, GPIO_FLOATING }, {GPIO_P20, GPIO_FLOATING }, {GPIO_P34, GPIO_FLOATING }, #if(SDK_VER_CHIP==__DEF_CHIP_QFN32__) {GPIO_P00, GPIO_FLOATING }, {GPIO_P01, GPIO_FLOATING }, {GPIO_P16, GPIO_FLOATING }, {GPIO_P17, GPIO_FLOATING }, {GPIO_P23, GPIO_FLOATING }, {GPIO_P24, GPIO_FLOATING }, {GPIO_P25, GPIO_FLOATING }, {GPIO_P26, GPIO_FLOATING }, {GPIO_P31, GPIO_FLOATING }, {GPIO_P32, GPIO_FLOATING }, {GPIO_P33, GPIO_FLOATING }, #endif }; for(uint8_t i=0; i<sizeof(ioInit)/sizeof(ioinit_cfg_t); i++) hal_gpio_pull_set(ioInit[i].pin,ioInit[i].type); DCDC_CONFIG_SETTING(0x0a); DCDC_REF_CLK_SETTING(1); DIG_LDO_CURRENT_SETTING(0x01); // hal_pwrmgr_RAM_retention(RET_SRAM0|RET_SRAM1|RET_SRAM2); hal_pwrmgr_RAM_retention(RET_SRAM0);/// ?ù?Yêμ?êó|ó?£???éùsram // hal_pwrmgr_RAM_retention(RET_SRAM0); hal_pwrmgr_RAM_retention_set(); #if (SDK_VER_CHIP == __DEF_CHIP_QFN32__) hal_pwrmgr_LowCurrentLdo_enable(); //// 17H65 ?a???éò???éù1|o?£? 17H662??ü?a?? #endif } static void ble_mem_init_config(void) { osal_mem_set_heap((osalMemHdr_t*)g_largeHeap, LARGE_HEAP_SIZE); LL_InitConnectContext(pConnContext, g_pConnectionBuffer, BLE_MAX_ALLOW_CONNECTION, BLE_MAX_ALLOW_PKT_PER_EVENT_TX, BLE_MAX_ALLOW_PKT_PER_EVENT_RX, BLE_PKT_VERSION); #ifdef BLE_SUPPORT_CTE_IQ_SAMPLE LL_EXT_Init_IQ_pBuff(g_llCteSampleI,g_llCteSampleQ); #endif } static void hal_rfphy_init(void) { //Watchdog_Init(NULL); //============config the txPower g_rfPhyTxPower = RF_PHY_TX_POWER_0DBM ; //============config BLE_PHY TYPE g_rfPhyPktFmt = PKT_FMT_BLE1M; //============config RF Frequency Offset g_rfPhyFreqOffSet =RF_PHY_FREQ_FOFF_40KHZ; //============config xtal 16M cap XTAL16M_CAP_SETTING(0x09); XTAL16M_CURRENT_SETTING(0x01); hal_rc32k_clk_tracking_init(); hal_rom_boot_init(); NVIC_SetPriority((IRQn_Type)BB_IRQn, IRQ_PRIO_REALTIME); NVIC_SetPriority((IRQn_Type)TIM1_IRQn, IRQ_PRIO_HIGH); //ll_EVT NVIC_SetPriority((IRQn_Type)TIM2_IRQn, IRQ_PRIO_HIGH); //OSAL_TICK NVIC_SetPriority((IRQn_Type)TIM4_IRQn, IRQ_PRIO_HIGH); //LL_EXA_ADV //ble memory init and config ble_mem_init_config(); } static void hal_init(void) { hal_low_power_io_init(); clk_init(g_system_clk); //system init hal_rtc_clock_config((CLK32K_e)g_clk32K_config); hal_pwrmgr_init(); xflash_Ctx_t cfg = { .spif_ref_clk = SYS_CLK_RC_32M, .rd_instr = XFRD_FCMD_READ_DUAL }; hal_spif_cache_init(cfg); LOG_INIT(); hal_gpio_init(); hal_fs_init(0x1103C000,2); } ///////////////////////////////////////////////////////////////////////////////////////////////////////// #define FLASH_RfFreOffset_ADD 32 #define FLASH_RfFreBaseAddr 0x1103E000 static void rf_DTM_RX_rfoffset_calibration(void) { uint16 rxEstFoff; uint16 rxPktNum; uint8 rxEstRssi; uint8 rxEstCarrSens; uint8 rfFreqOffset_flash[64] = {0, 0, 0}; hal_gpio_pin_init(P10, IE); hal_gpio_pull_set(P10, PULL_DOWN); hal_flash_read(FLASH_RfFreBaseAddr, rfFreqOffset_flash, 64); LOG("read data %x %x %x\n", rfFreqOffset_flash[FLASH_RfFreOffset_ADD], rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 1], rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 2]); if(hal_gpio_read(P10) == 1){ while(1){ if(rfFreqOffset_flash[FLASH_RfFreOffset_ADD] != 0x55){ rf_phy_dtm_ext_rx_demod_burst(20, 0, 0x09, 37, 1000, 725, &rxEstFoff, &rxEstRssi, &rxEstCarrSens, &rxPktNum); LOG("rxEsFoff= %d, rxPktNum=%d\n", rxEstFoff,rxPktNum); if(rxPktNum != 0){ g_rfPhyFreqOffSet = (rxEstFoff-512)/20*5; if(g_rfPhyFreqOffSet >= 0){ LOG("P Offset:%d\n", g_rfPhyFreqOffSet); rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 2] = 1; rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 1] = g_rfPhyFreqOffSet; }else{ LOG("N offset:%d\n", ABS(g_rfPhyFreqOffSet)); rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 2] = 2; rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 1] = ABS(g_rfPhyFreqOffSet); } rfFreqOffset_flash[FLASH_RfFreOffset_ADD] = 0x55; hal_flash_erase_sector(FLASH_RfFreBaseAddr); WaitMs(10); hal_flash_write(FLASH_RfFreBaseAddr, rfFreqOffset_flash, 64); hal_gpio_fmux(P10, Bit_DISABLE); hal_gpio_pin_init(P10, OEN); hal_gpio_write(P10, 0); hal_flash_read(FLASH_RfFreBaseAddr + FLASH_RfFreOffset_ADD, rfFreqOffset_flash + FLASH_RfFreOffset_ADD, 1); } }else{ hal_gpio_fmux(P10, Bit_DISABLE); hal_gpio_pin_init(P10, OEN); hal_gpio_write(P10, 0); } } } if(rfFreqOffset_flash[FLASH_RfFreOffset_ADD] == 0x55){ if(rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 2] == 1){ g_rfPhyFreqOffSet = rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 1]; LOG("reserved freqoffset : %d\n", g_rfPhyFreqOffSet); }else if(rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 2] == 2){ g_rfPhyFreqOffSet = -rfFreqOffset_flash[FLASH_RfFreOffset_ADD + 1]; // LOG("reserved freqoffset : %d\n", ABS(g_rfPhyFreqOffSet)); LOG("reserved freqoffset : %d\n", g_rfPhyFreqOffSet); }else{ g_rfPhyFreqOffSet = RF_PHY_FREQ_FOFF_40KHZ; LOG("reserved data err\n"); } }else{ g_rfPhyFreqOffSet = RF_PHY_FREQ_FOFF_40KHZ; LOG("no DTM data,default offset is +40KHz\n"); } } ///////////////////////////////////////////////////////////////////////////////////////////////////////// int main(void) { watchdog_config(WDG_2S); g_system_clk = SYS_CLK_XTAL_16M;//SYS_CLK_DBL_32M;//SYS_CLK_XTAL_16M;//SYS_CLK_DLL_64M; g_clk32K_config = CLK_32K_RCOSC;//CLK_32K_XTAL;//CLK_32K_XTAL,CLK_32K_RCOSC #if(FLASH_PROTECT_FEATURE == 1) hal_flash_lock(); #endif drv_irq_init(); init_config(); extern void ll_patch_slave(void); ll_patch_slave(); hal_rfphy_init(); hal_init(); // rf_DTM_RX_rfoffset_calibration(); #if 0 if(hal_gpio_read(P20)==1) rf_phy_direct_test(); #endif LOG("SDK Version ID %08x \n",SDK_VER_RELEASE_ID); LOG("rfClk %d rcClk %d sysClk %d tpCap[%02x %02x]\n",g_rfPhyClkSel,g_clk32K_config,g_system_clk,g_rfPhyTpCal0,g_rfPhyTpCal1); LOG("sizeof(struct ll_pkt_desc) = %d, buf size = %d\n", sizeof(struct ll_pkt_desc), BLE_CONN_BUF_SIZE); LOG("sizeof(g_pConnectionBuffer) = %d, sizeof(pConnContext) = %d, sizeof(largeHeap)=%d \n",\ sizeof(g_pConnectionBuffer), sizeof(pConnContext),sizeof(g_largeHeap)); LOG("[REST CAUSE] %d\n ",g_system_reset_cause); app_main(); } ///////////////////////////////////// end ///////////////////////////////////////
最新发布
08-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值